2016-02-23 4 views
2

Я пытаюсь использовать поток AWS Kinesis для одного из наших потоков данных. Я хотел бы отслеживать ожидающие сообщения в моем потоке для целей ops (масштабировать вниз по потоку в соответствии с отставанием), но не смог найти какой-либо API, который дает (приблизительные) ожидающие сообщения в моем потоке.Kinesis поток ожидающий сообщение счет

Это выглядит странно, поскольку срок действия сообщений истекает через 7 дней, и если производители и потребители изолированы и не могут общаться, как вы знаете, что сообщения истекают. Как вы справляетесь с этой проблемой?

Спасибо!

ответ

0

В Кинезисе нет такой концепции, как «ожидающее» сообщение. Все входящие данные будут помещены в осколок.

Ваше потребительское приложение должно находиться в рабочем состоянии все время, чтобы отслеживать изменения в вашем потоке. Приложение (с помощью KCL) продолжит опрос «Shard Iterator» в фоновом режиме, поэтому вы будете уведомлены о новых данных, когда это произойдет.

Грубо; вы можете видеть Kinesis как очередь FIFO, и сообщения исчезнут через короткое время, если вы их не поместите.

Если ваше приложение обработает несколько сообщений через час, вы должны подумать об изменении своей архитектуры. Kinesis, вероятно, не является правильным инструментом для вас.

+0

Спасибо за подробное объяснение. В этом есть смысл. В моей учетной записи я получаю поток ключей в потоке кинезий (несколько k-TPS), который я хочу применить некоторые преобразования и доставить на другой сервис. Я в основном беспокоюсь о «бесшумном потере сообщений» в случаях, например, увеличении задержки обслуживания или восходящем всплеске, создающем отставание. Вероятно, я должен быть обеспечен максимальной пропускной способностью на каждый осколок. –

+0

В work.java он вызывает runProcessLoop и в нем он вызывает shardConsumer.consumeShard() там он вызывает checkAndSubmitNextTask(), поскольку он проверяет readyForNextTask или нет. Если notReady, он не использует новые записи. Итак, как это возможно, рабочий получает новые записи без предыдущего процесса обработки документов. – user1846749

Смежные вопросы