Django и микросервисы - Как я могу проектировать микросервисы в django
Я изучаю микросервисы и есть требование разработать фильтр типа Amazon filter и другие фильтры. Как я могу сделать это с помощью микросервисов.
Дизайн пользовательского интерфейса специально располагает фильтры справа, когда пользователь выбирает фильтр, конкретный элемент, содержащий строку, должен отображаться в правой части таблицы.
Для проектирования микросервисов могу ли я взять все данные, которые предоставляются в микросервисах и отфильтровать в другом микросервисе. Я просто застрял с частью фильтрации, как я могу разработать в django это должно быть сделано с фронтальной стороны? Или это может быть разработано через микросервисы.
Я разрабатываю только api с микросервисами или я делаю back end функциональность для этого. У меня есть большие сомнения, если я разрабатываю только api, как я могу вызвать в шаблоне django?
Является ли микросервисом только создание api. Например, есть проект django, где пользователь может поставить лайк и прокомментировать пост. Например, есть проект django, в котором пользователь может поставить лайк и прокомментировать сообщение, и проект comment, в котором пользователь может прокомментировать сообщение. И оба проекта докеризованы. Оба связаны через микросервисы для того, чтобы получить лайк и комментарий вместе на веб-странице home.html. Должен ли я создать только api для них или также я должен создать функциональность бэкенда? Как я могу вызвать это в шаблоне django для фронтэнда?
Вы можете создавать определенные пакеты.
Что я делаю, и вы можете следовать этому:
1. Способ создания микросервиса django
Django разделен по приложениям, вот так вы можете создать каждый сервис в каждом приложении:
ex:
your_main_project/
|
|_main_folder/
| settings.py
| urls.py
| ...
|
|_app_1/ <--------- app that will become a package/service :)
|
|_app_2/
2.Создать пакет
Поскольку они разделены, вы можете удалить их, например, из проекта и создать конкретный пакет, который может быть установлен оболочкой.
Например, ваш app_1
- это услуга, которую вы хотите продавать отдельно своим клиентам, вы можете создать (допустим) app_1_package
.
Вот ссылка непосредственно из документации django, которая объясняет, как именно это сделать.
После создания просто инициируйте git-репозиторий для пакета, который вы уже создали, и вы можете установить его с помощью команды pip, например:
pip install git+https://github.com/your_username/app_1_package.git
Поначалу это может быть трудно, но это только для вашего личного использования и/или ваших клиентов, вам не нужно загружать, например, в Pypi.
3. Удаленное добавление пакетов
Это часть, которую я не очень хорошо понимаю, но я могу сказать, что там, где я работаю, ребята из Infra делают так: добавляют команду pip install
внутри команды .sh
как команду оболочки, чтобы установить ее автоматически.
Все шаги, необходимые для создания микросервисов, я знаю в двух словах.