Разрешение сообщений параллельно по группам и последовательно в группе - PullRequest
0 голосов
/ 06 апреля 2020

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

  1. Я запрашиваю устаревшую стороннюю систему от имени моих клиентов. Эта система требует последовательного запроса по одному.
  2. Задания не создаются равномерно. У одного клиента есть несколько рабочих мест, у других много. Но я должен обрабатывать задания заказчиков равномерно.

Итак, задания должны обрабатываться параллельно заказчиками (для нескольких заказчиков одновременно) и последовательно заказчиком.

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

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

Каков мой лучший вариант, если говорить архитектурно, для выполнения sh этого? Стоит ли делать лямбды для каждого клиента?

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