кафкой? Т.е. у меня есть grpc-клиента, на который навешивается circuit breaker, но когда этот клиент вызывается из консьюмера, то смысл circuit breaker'а теряется, так как spring-kafka по-дефолту делает ретрай без back-off'а, т.е. с большой вероятностью клиент будет разомкнут, а back-off в контекст консьюмера не имеет смысла, ведь я не могу просто сделать таймаут, будет ребалансинг(Ну если не делать ручной stop/start). И что делать?
Ребалансинг же будет, просто если консьюмер жив, так как кидает хелсчеки, то ему вернется эта же партиция, но проблему-то это не решит, сообщения пойдут заново при ребалансировке. Ретраи у них сделаны же через отдельные топики для ретраев(30 секунд, 60, 120, и т.д.). Такое чувство, что circuit breaker не нужен и хватит трех ретраев кафки, но я все еще не понимаю, что делать, если у меня, например, консьюмер при обработке ходит не только в базу(транзакцию-то можно откатить), но и во внешний сервис, получается, что на следующий ретрай он снова пойдет и тогда может случиться беда, прикручивать идемпотентность к грпс-серверу?
и почему должен быть ребалансинг то?
Обсуждают сегодня