Как клиент должен обрабатывать добавленные/удаленные/разделенные осколки потока DynamoDB?

Из руководства по разработке Amazon:

Осколки эфемерны: они создаются и удаляются автоматически по мере необходимости. Любой осколок также может быть разделен на несколько новых осколков; это также происходит автоматически. (Обратите внимание, что у родительского сегмента также может быть только один дочерний сегмент.) Сегмент может быть разделен в ответ на высокий уровень активности записи в его родительскую таблицу, чтобы приложения могли обрабатывать записи из нескольких сегментов параллельно.

В моем приложении мне все равно, из какого сегмента поступают данные, я просто хочу обработать все изменения. Однако при настройке потоковых процессоров вы должны подписаться на сегмент или набор сегментов. Как вы можете быть уверены, что получаете все изменения, если осколки могут быть удалены/разделены/добавлены в любое время?

Должен ли клиент опрашивать список осколков на наличие изменений?


person morsecoder    schedule 06.10.2016    source источник


Ответы (1)


Да. Если вы используете низкоуровневые API потоков DynamoDB, вам нужно позаботиться об этих сценариях самостоятельно.

Лучше использовать адаптер DynamoDB Streams Kinesis, который позволяет использовать клиентскую библиотеку Amazon Kinesis. Последний берет на себя все вышеперечисленные сложности за вас, тем самым делая вашу жизнь проще.

Соответствующую документацию можно найти здесь.

person ketan vijayvargiya    schedule 09.10.2016