Изменения документа Гарантии доставки
Редактировал(а) Alexandr Fokin 2026/07/27 03:09
От версии 1.3
отредактировано Alexandr Fokin
на 2026/07/19 13:00
на 2026/07/19 13:00
Изменить комментарий:
К данной версии нет комментариев
К версии 1.11
отредактировано Alexandr Fokin
на 2026/07/19 13:29
на 2026/07/19 13:29
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -29,13 +29,28 @@ 29 29 \\transactional.id - влияет на идентификацию экземпляра producer при переподключении. |(% style="width:1164px" %)Использование ручного коммита после завершения обработки (транзакции БД). 30 30 \\AutoOffsetReset = AutoOffsetReset.Earliest 31 31 ENABLE_AUTO_COMMIT = false 32 -\\Может использоваться для дедупликации. 32 +\\Возможные проблемы:((( 33 +1. Дублирование на отправке. 34 +1. Не закомиченное смещение (падение consumer). 35 +1. Отвал consumer по timeout (долгая обработка, сообщение передано к другому consumer). 36 + 33 33 TransactionalInbox. 38 +))) 34 34 |(% style="width:128px" %)((( 35 35 Exactly‑Once 36 36 )))|(% style="width:1164px" %)Гарантия доставки строго один раз. 37 37 Гарантия отсутствия потерь и дублей.|(% style="width:1164px" %)Kafka transactions|(% style="width:1164px" %) 38 38 ))) 44 +|(% style="width:108px" %) |(% style="width:1326px" %)((( 45 +|(% style="width:136px" %)TransactionalInbox|(% style="width:1216px" %)((( 46 +|(% style="width:207px" %)Полный|(% style="width:991px" %)Хранится IdempotencyId каждого входящего сообщения (уникальный индекс), для дедубликации. 47 +Полная защита от дублей (даже если это несколько сообщений, с одинаковым ключом). 48 +|(% style="width:207px" %)Только offset (облегченный)|(% style="width:991px" %)Специфично для kafka. Храниться только topic+partition+offset. 49 +Защищает только от потери смещения (сообщение обработано, но offset не закомичен) и consumer timeout. Не поможет при дублировании на отправке (более 1 сообщения). 50 +|(% style="width:207px" %) |(% style="width:991px" %) 51 +))) 52 +|(% style="width:136px" %) |(% style="width:1216px" %) 53 +))) 39 39 |(% style="width:108px" %) |(% style="width:1326px" %)Более строгие гарантии могут давать большие накладные расходы (пропускная способность и задержка доставки). 40 40 41 41