Изменения документа Гарантии доставки

Редактировал(а) Alexandr Fokin 2026/07/27 03:09

От версии 1.3
отредактировано Alexandr Fokin
на 2026/07/19 13:00
Изменить комментарий: К данной версии нет комментариев
К версии 1.11
отредактировано Alexandr Fokin
на 2026/07/19 13:29
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -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