Должен ли микросервис позаботиться об этом или шлюзе API? - PullRequest
0 голосов
/ 14 мая 2018

Я строю микросервисную архитектуру и немного запутался с одной стороны. Я использую Kafka в качестве системы брокера сообщений для общения в рамках моих услуг. Прекрасным примером будет API Uber для оценки запросов . Он возвращает длительность, расстояние, цену и т. Д. Я предполагаю, что у них есть микросервис для каждого из них, то есть сервис для определения цены, сервис для определения продолжительности / расстояния, сервис для водителей и т. Д. Мой вопрос: при достижении конечной точки /requests/estimate делает запросы микросервисов делают остальные вызовы к другим микросервисам для получения данных о продолжительности, расстоянии и т. д.? или API-шлюз позаботится об этом?

Ответы [ 2 ]

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

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

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

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

Я говорю, что это зависит от варианта использования.Если службе A необходимо знать, что знает служба B, то для службы A совершенно разумно сделать вызов REST для службы B. Но если объединенные знания для A и B необходимы только в вашем шлюзе, то шлюз может объединить результаты.

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