Всем привет. Столкнулся с тем, что не работают standby replicas у Kafka Streams.
Docker Swarm
Kafka Confluent 5.3.1
Инстанс содержит 3 стрима.
Стримы создаются как Spring Cloud Kafka Streams Binders и у каждого стрима есть свой стор.
Чтобы запрашивать данные со всех сторов, реализовал "Querying remote state stores».
В конфиге биндера задал
"num.standby.replicas: 1"
"num.stream.threads: 5"
Число партиций 10
В сварме поднимаю 2 инстанса через replica=2 у service.
К каждой реплики монтируется свой volume для стора.
Пропускаю пару миллионов записей, чтобы сторы проинициализировались,проверяю что данные корректно запрашиваются с каждого стора. После чего убиваю один инстанс и запрашиваю данные по ключу, который был на 1 инстансе. И в этот момент в пределах до 10секунд по идее должна подхватиться stand by реплика. Но этого не происходит. Пишет что стор еще не проинициализирован и приходится ждать 3-4 минуты пока стор восстановиться с change log.
Интересно, может уже кто то делал подобное. Инетересно было бы обсудить