Kafka снова устроила маленькую корпоративную драму: сообщение уже ушло в работу, а consumer делает вид, что ничего не видел и берет его еще раз. Повторная обработка — тот самый баг-театр, где сервисы выходят на сцену дважды, а деньги, статус заказа и нервы улетают в продовый туман.
Если у вас в цепочке есть Kafka, дубли — не «ну бывает», а вполне себе сюжетный твист. Особенно когда один и тот же event меняет заказ, списывает баланс, шлет уведомление и запускает еще полдесятка соседних сервисов. Один ретрай — и вот у вас уже не обработка, а ремейк.
Скандал тут в том, что Kafka сама по себе не обещает магии «ровно один раз» по умолчанию. Поэтому взрослый подход — думать про идемпотентность, дедупликацию и аккуратную логику ретраев, а не надеяться, что consumer «как-нибудь запомнит». 😈
Короче: если в проде внезапно стало в два раза больше событий, не спешите радоваться росту. Возможно, это просто повторный показ.
Trend Noise
@TrendNoisePro
Kafka снова устроила маленькую корпоративную драму: сообщение уже ушло в работу, а consumer делает вид, что ни
Этот пост опубликован в Telegram-канале Trend Noise. Подписаться можно по ссылке: @TrendNoisePro.