Соответствует ли моя архитектура микросервисов передовому опыту?(STS / SPA / Frontend API / Бэкэнд-сервисы) - PullRequest
0 голосов
/ 06 февраля 2019

Цель состоит в том, чтобы создать приложение с внешним интерфейсом SPA, которое обновляет в реальном времени, включая архитектуру микросервисов.

У меня есть - SPA (угловой) - API внешнего интерфейса (для SPA), который предоставляет API и концентратор сигналов.- Некоторые бэкэнд-сервисы - Azure Servicebus для операций на бэкэнде и уведомления для интерфейсного API, что что-то обновляется (в этом случае сообщение R получает сообщение) - Identityserver 4.0 в качестве STS (и идентификация ядра asp.net в качестве хранилища)

Я изо всех сил стараюсь создать хорошую безопасную масштабируемую архитектуру моей системы.Я не хочу ненужных накладных расходов и не хочу создавать большой монолит.Я хочу, чтобы бэкэнд-сервисы были скрыты от остальной части Интернета, но интерфейс Api может получить к нему доступ.

Я хочу, чтобы интерфейсный интерфейс API был достаточно интеллектуальным, чтобы запрашивать конкретные потребности, которые нужны SPA, и слушатьсобытия, имеющие отношение к SPA, чтобы получать уведомления через SignalR.Другими словами: я не хочу тупых ворот.

Не стесняйтесь учить меня.Я просто хочу начать с реализации.

Я чувствую, что строки от бэкэнда до STS излишни, если я разрешаю доступ только через API внешнего интерфейса.

Мне действительно нужна некоторая проницательность.

Вот что я сделал так: enter image description here

1 Ответ

0 голосов
/ 07 февраля 2019

Мы реализуем микросервисную архитектуру и используем ReverseProxy для завершения открытых запросов и переадресации вызовов на внутренние сервисы.

Внутри этого прокси находится весь код для вызована идентификационный сервер.Я не думаю, что вы хотите делать это из своих внутренних служб.

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

Вы также можете рассмотреть возможность использования Docker для размещения своих сервисов, чтобы обеспечить их изолированность и согласованность в разных средах, и инструмента оркестровки, такого как Kubernetes, для управления контейнерами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...