Гарантия at-least-once и повторная обработка сообщения
Сервис списывает деньги по событиям из топика. Обработка настроена по схеме at-least-once: оффсет коммитится после успешной обработки.
Что это означает для логики обработчика?
- Дубли исключены: раз оффсет коммитится после обработки, каждое сообщение обрабатывается ровно один раз
- Дубли отфильтрует брокер, сравнивая содержимое сообщений в пределах партиции и отбрасывая повторы
- Сообщение может быть обработано повторно, если сбой случится между обработкой и коммитом, — обработчик обязан быть идемпотентным
- Дубли устраняются отключением повторов у продюсера: без ретраев сообщение попадёт в топик единственный раз
