Django admin + система аутентификации в микросервисной архитектуре - PullRequest
0 голосов
/ 20 мая 2018

У меня есть большой проект Django, который в основном представляет собой монолит, содержащий приложения.Мне нужно разбить его на микросервисы.

У меня есть 2 вопроса, на которые я не смог найти четких ответов:

  1. В настоящее время мы широко используем администратор Django иИнтересно, возможно ли продолжать использовать его, когда монолит сломан.Это означает чтение и манипулирование данными со всех микросервисов в «используемом для работы» пользовательском интерфейсе.Было бы также полезно, чтобы этот процесс выполнялся более плавно.

  2. Аутентификация и авторизация. Сможем ли мы по-прежнему использовать это встроенное "приложение" в микросервисной архитектуре?Можно ли взять эту пару только в другой сервис и связаться с ней по HTTP?

1 Ответ

0 голосов
/ 21 мая 2018

В настоящее время мы широко используем админку Django, и мне интересно, можно ли продолжать ее использовать после разрушения монолита.Это означает чтение и манипулирование данными со всех микросервисов в «используемом для работы» пользовательском интерфейсе.Также было бы полезно, чтобы этот процесс выполнялся более плавно.

Да, вы можете, но он может не иметь доступа к другим базам данных микросервисов (ни для записи, ни для чтения).Это означает, что если микросервис Admin обновляет какую-либо Статью (или какие-либо типы сущностей, которые у вас есть, это всего лишь пример), то это не сразу отражается в микросервисе, который отображает эту Статью.У вас должен быть какой-то механизм для передачи обновлений от администратора на другие микросервисы.Таким образом, общие базы данных / таблицы - это не вариант.

Аутентификация и авторизация. Сможем ли мы по-прежнему использовать это встроенное «приложение» в микросервисной архитектуре?Можно ли взять эту пару только в другой сервис и обмениваться данными по HTTP?

Да, но вам нужно разделить ее на две стороны.Одна сторона отвечает за управление пользователями и ролями / разрешениями, а другая отвечает за аутентификацию пользователей и проверку того, может ли пользователь выполнить какое-либо действие.

Первая сторона должна представлять собой микросервисы (создание / администрирование илипользователи и управление ролями / разрешениями).

Проверяющей частью может быть микросервис, но эти обязанности, как правило, выполняются шлюзом API или модулем (+ локальные, реплицированные данные) в каждом микросервисе, для которого требуется аутентификация или авторизация.Это сквозные проблемы.Если они находятся в отдельном микросервисе, то возникает проблема устойчивости: если этот микросервис выходит из строя, он разрушает всю вашу систему.

...