Мы пытаемся создать сервис дедупликации, используя Kafka Streams.Общая картина состоит в том, что он будет использовать свое хранилище состояний rocksDB для проверки существующих ключей во время процесса.
Пожалуйста, исправьте меня, если я ошибаюсь, но чтобы сделать эти stateStores отказоустойчивыми, API потоков Kafka будет прозрачноскопируйте значения в stateStore внутри раздела Kafka (так называемый журнал изменений).Таким образом, если наш сервис упадет, другой сервис сможет перестроить свой StateStore в соответствии с changeLog, найденным в Kafka.
Но, на мой взгляд, возникает вопрос, сделайте этот «StateStore -> changelog» самточно один раз?Я имею в виду, когда служба обновит свой stateStore, она также обновит журнал изменений ровно один раз.?Если служба аварийно завершает работу, другой загрузит ее, но можем ли мы быть уверены, что она не пропустит обновление stateStore службы аварийного завершения?
С уважением,
Янник