Мы используем Flink Kinesis Consumer для получения данных из потока Kinesis в наше приложение Flink.
Библиотека KCL использует таблицу DynamoDB для хранения последних успешно обработанных номеров последовательностей потоков Kinesis.так что при следующем запуске приложения оно возобновляется с того места, на котором оно было остановлено.
Но, похоже, что Flink Kinesis Consumer не поддерживает никаких таких порядковых номеров.в любом постоянном магазине.В результате нам нужно полагаться на ShardIteratortype (trim_horizen, последняя версия и т. Д.), Чтобы решить, где возобновить обработку приложения Flink после перезапуска приложения.
Возможное решение этой проблемы может заключаться в использовании механизма контрольных точек Flink, ноэто работает только тогда, когда приложение возобновляет работу после сбоя, а не тогда, когда приложение было намеренно отменено, и его необходимо перезапустить из последней успешно использованной последовательности потока Kinesis №.
Нужно ли хранить эти последние успешно использованные последовательностимы сами?