SQS связь с сервисами - PullRequest
       33

SQS связь с сервисами

0 голосов
/ 27 сентября 2019

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

Как SQS работает с точки зрения связи между двумя службами?Скажем, у меня есть клиентское приложение, которое вызывает userService, которому необходимо получить некоторые данные из productService перед отправкой ответа обратно на клиентскую сторону.

Как SQS будет работать в этом случае?userService нужно будет отправить сообщение и начать прослушивание ответа?Есть ли проблемы с блокировками по этому поводу?Будет ли это правильный подход?Если нет, что вы предлагаете для такого варианта использования?

Спасибо

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

SQS - это служба очереди.Простая служба очереди.Как следует из названия, оно стремится быть простым

Вам нужно понять что такое очередь и зачем нам нужны очереди / когда это необходимо

В целом, ваш вариант использования и вопрос немного шире, но я постараюсь создать простой

Пример:

  • У вас есть служба, которая работаетсоздание отчетов для нескольких тысяч пользователей
  • У вас есть другая служба для получения всех продуктов / заказов, связанных с этим пользователем.
  • Вы можете создать операцию, которая будет выдвигать этих пользователей в вашу очередь.Это производитель
  • У вас есть очередь чего-то вроде этого [User_1], [User_2], [User_3] ... [User1000]
  • Вы можете настроить некоторые машины, которые активно смотрят наочередь и принимает сообщения.Они являются потребителями
  • Каждый потребитель принимает сообщение и обрабатывает его локально (соберите все товары / заказы, связанные с пользователем).Возможно, по электронной почте результат в конечном итоге
  • SQS - хороший кандидат на службу очереди, которая проста, быстра и достаточно масштабируема
1 голос
/ 27 сентября 2019

Очереди не подходят для таких сценариев управления сервисами.Посмотрите на Cadence Workflow , который изначально поддерживает такие длительные операции.

...