Изменения документа Гарантии доставки
Редактировал(а) Alexandr Fokin 2026/07/27 03:09
От версии 1.1
отредактировано Alexandr Fokin
на 2026/07/19 12:55
на 2026/07/19 12:55
Изменить комментарий:
К данной версии нет комментариев
К версии 1.6
отредактировано Alexandr Fokin
на 2026/07/19 13:14
на 2026/07/19 13:14
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -11,9 +11,10 @@ 11 11 At‑Most‑Once 12 12 )))|(% style="width:1164px" %)Гарантия доставки не более одного раза. 13 13 Гарантируется, то не будет дублей, но допускаются потери.|(% style="width:1164px" %)Без подтверждения доставки и повторных отправок (гарантирует отсутствие дублей), но сообщение может быть потеряно на фазе отправки (т.к. без подтверждения). 14 -\\Acks = 014 +\\Acks = None 15 15 MessageSendMaxRetries = 0|(% style="width:1164px" %)Сообщение коммитится сразу (без подтверждения), это гарантирует что не будет дублирования, но сообщение может быть потеряно на фазе получения (падение или timeout потребителя). 16 -\\ENABLE_AUTO_COMMIT = true 16 +\\AutoOffsetReset = AutoOffsetReset.Earliest 17 +ENABLE_AUTO_COMMIT = true 17 17 |(% style="width:128px" %)((( 18 18 At‑Most‑Once 19 19 )))|(% style="width:1164px" %)Гарантия доставки хотя бы один раз. ... ... @@ -26,14 +26,24 @@ 26 26 \\EnableIdempotence = true 27 27 MessageSendMaxRetries <> 0 28 28 \\transactional.id - влияет на идентификацию экземпляра producer при переподключении. |(% style="width:1164px" %)Использование ручного коммита после завершения обработки (транзакции БД). 29 -\\ENABLE_AUTO_COMMIT = false 30 +\\AutoOffsetReset = AutoOffsetReset.Earliest 31 +ENABLE_AUTO_COMMIT = false 30 30 \\Может использоваться для дедупликации. 31 31 TransactionalInbox. 34 +\\Долгая обработка сообщения может привести к отключению consumer по timeout. Это может провести к тому, что сообщение поступит на другой потребитель. В таком случае только TransactionalInbox. 32 32 |(% style="width:128px" %)((( 33 33 Exactly‑Once 34 34 )))|(% style="width:1164px" %)Гарантия доставки строго один раз. 35 35 Гарантия отсутствия потерь и дублей.|(% style="width:1164px" %)Kafka transactions|(% style="width:1164px" %) 36 36 ))) 40 +|(% style="width:108px" %) |(% style="width:1326px" %)((( 41 +|(% style="width:136px" %)TransactionalInbox|(% style="width:1216px" %)((( 42 +|(% style="width:248px" %)Полный|(% style="width:950px" %)Хранится IdempotencyId каждого входящего сообщения (уникальный индекс), для дедубликации. 43 +|(% style="width:248px" %)Только offset (облегченный)|(% style="width:950px" %)Специфично для kafka. Храниться только topic+partition+offset. 44 +|(% style="width:248px" %) |(% style="width:950px" %) 45 +))) 46 +|(% style="width:136px" %) |(% style="width:1216px" %) 47 +))) 37 37 |(% style="width:108px" %) |(% style="width:1326px" %)Более строгие гарантии могут давать большие накладные расходы (пропускная способность и задержка доставки). 38 38 39 39