AWS Очередь SQS FIFO все еще требует, чтобы потребители были идемпотентами? - PullRequest
0 голосов
/ 17 марта 2020

Некоторое время go AWS вводил SQS FIFO очередь , что гарантирует message ordering и exactly one processing. Мой вопрос касается второго предположения, не следует ли изменить его на exactly one delivery?

Поскольку даже если в очереди может быть только одна копия сообщения, я могу подумать о ситуациях, когда сообщение могут быть обработаны более одного раза. Один пример может быть:

  1. Worker1 опрашивает сообщение из очереди. Тайм-аут видимости начинается.
  2. Из-за большого трафика / нагрузки работник worker1 превышает окно видимости для обработки сообщения.
  3. Сообщение возвращается видимым в очереди.
  4. Worker2 опрашивает то же сообщение из очереди.
  5. Worker1 заканчивает обработку сообщения.
  6. Worker2 заканчивает обработку сообщения.

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

...