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

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

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

Сводка

Подробности

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