Поддержание порядка с помощью Amazon Kinesis со скоростью не менее 1000 сообщений в секунду

Я пытаюсь отправить тысячи сообщений в последовательности, используя Amazon Kinesis, но сообщения, получаемые пользователем Kinesis, не в последовательности. Вещи, которые я пробовал:

  1. Используемый putRecord() метод для отправки с SequenceNumberForOrdering. С этим достигается упорядоченная последовательность, но пропускная способность очень мала.
  2. Используемый putRecords Способ отправки, но не удачный.
  3. Использовал KCL + Amazon API потребителя.

1 ответ

Кинезис поддерживает последовательность внутри осколков, а не через все осколки в потоке. Я предполагаю, что у вас в потоке более 1 осколка и, следовательно, вы наблюдаете прочитанные записи не по порядку. (Вы также можете быстро проверить это, повторив #2 с одним осколком в вашем потоке.)

Цитата отсюда:

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

Другие вопросы по тегам