Должны ли фронтенд или бэкэнд вызывать микросервисы? - PullRequest
0 голосов
/ 26 августа 2018

Меня смущает вопрос, должно ли мое внешнее приложение вызывать микросервисы или бэкэнд?

Например: допустим, у меня есть "Приложение A", которое использует службы "Auth" и "Products",Должен ли мой сервер "App A" вызывать службы аутентификации и продуктовИли мой интерфейс должен позвонить в эти службы напрямую?

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

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

Упомянутый вами подход хорошо согласуется с вариантом использования API Gateway.И это на самом деле не просто прокси.Есть слишком много вещей, которые вы можете сделать, но, пожалуй, самое важное - это безопасность и абстракция.Предоставляя веб-интерфейсу прямой доступ к сервисам, вы открываете все свои сервисы в Интернете, и вам необходимо создать механизм для устранения уязвимостей в каждом из них.Имеет смысл сделать это в одном месте.

Второе - это обнаружение и ремонт конечных точек, что лучше при таком решении

Это может добавить еще один прыжок, но что вы могли бы сделать с этимна месте сделайте это достойным.

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

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

Сказав, что в конечном итоге все действительно зависит от ваших потребностей и вариантов использования.Если безопасность не является главной заботой или если вы работаете больше с POC.Но просто подумайте о плюсах и минусах наличия одного

0 голосов
/ 26 августа 2018

Как всегда ... это зависит.Если ваш бэкэнд просто передает вызовы, это бесполезно.Но вы также можете использовать его для регистрации, балансировки нагрузки и т. Д. Например, приложения Javascript не могут работать параллельно и использовать все ваши ядра.Так что это может быть причиной для обработки запросов и в бэкэнде.На самом деле не существует универсального решения.

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