Изменения документа Гарантии доставки
Редактировал(а) Alexandr Fokin 2026/07/27 03:09
От версии 1.14
отредактировано Alexandr Fokin
на 2026/07/27 03:09
на 2026/07/27 03:09
Изменить комментарий:
К данной версии нет комментариев
К версии 1.11
отредактировано Alexandr Fokin
на 2026/07/19 13:29
на 2026/07/19 13:29
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка.Брокеры сообщений.Apache Kafka. Kafka\. Механизмы.WebHome1 +Разработка.Брокеры сообщений.Apache Kafka.Сценарии.WebHome - Содержимое
-
... ... @@ -10,62 +10,32 @@ 10 10 |(% style="width:128px" %)((( 11 11 At‑Most‑Once 12 12 )))|(% style="width:1164px" %)Гарантия доставки не более одного раза. 13 -Гарантируется, то не будет дублей, но допускаются потери.|(% style="width:1164px" %)((( 14 -Без подтверждения доставки и повторных отправок (гарантирует отсутствие дублей), но сообщение может быть потеряно на фазе отправки (т.к. без подтверждения). 15 - 16 -{{code language="none"}} 17 -Acks = None 18 -MessageSendMaxRetries = 0 19 -{{/code}} 20 -)))|(% style="width:1164px" %)((( 21 -Сообщение коммитится сразу (без подтверждения), это гарантирует что не будет дублирования, но сообщение может быть потеряно на фазе получения (падение или timeout потребителя). 22 - 23 -{{code language="none"}} 24 -AutoOffsetReset = AutoOffsetReset.Earliest 13 +Гарантируется, то не будет дублей, но допускаются потери.|(% style="width:1164px" %)Без подтверждения доставки и повторных отправок (гарантирует отсутствие дублей), но сообщение может быть потеряно на фазе отправки (т.к. без подтверждения). 14 +\\Acks = None 15 +MessageSendMaxRetries = 0|(% style="width:1164px" %)Сообщение коммитится сразу (без подтверждения), это гарантирует что не будет дублирования, но сообщение может быть потеряно на фазе получения (падение или timeout потребителя). 16 +\\AutoOffsetReset = AutoOffsetReset.Earliest 25 25 ENABLE_AUTO_COMMIT = true 26 -{{/code}} 27 -))) 28 28 |(% style="width:128px" %)((( 29 29 At‑Most‑Once 30 30 )))|(% style="width:1164px" %)Гарантия доставки хотя бы один раз. 31 -Гарантируется, что не будет потерь, но возможны дубли.|(% style="width:1164px" %)((( 32 -1) Гарантия подтверждения доставки до брокера. 33 - 34 -{{code language="none"}} 35 -Acks = All 36 -EnableIdempotence = false 37 -{{/code}} 38 - 21 +Гарантируется, что не будет потерь, но возможны дубли.|(% style="width:1164px" %)1) Гарантия подтверждения доставки до про брокера. 39 39 В данном случае отправка может выполнится, но потеряется подтверждение отправки. В таком случае будет повторная отправка, которая приведет к дублированию на отправке. 23 +\\Acks = All 24 +EnableIdempotence = false 40 40 \\2) Дополнение. Наличие функции дедубликации в kafka. 41 41 Позволяет устранить дублирование на отправке. Kafka отслеживает повторную отправку и отбрасывает. 42 - 43 -{{code language="none"}} 44 -EnableIdempotence = true 27 +\\EnableIdempotence = true 45 45 MessageSendMaxRetries <> 0 46 - 47 -// влияет на идентификацию экземпляра 48 -// producer при переподключении. 49 -transactional.id 50 -{{/code}} 51 -)))|(% style="width:1164px" %)((( 52 -1) Использование ручного коммита после завершения обработки (транзакции БД). 53 - 54 -{{code language="none"}} 55 -AutoOffsetReset = AutoOffsetReset.Earliest 29 +\\transactional.id - влияет на идентификацию экземпляра producer при переподключении. |(% style="width:1164px" %)Использование ручного коммита после завершения обработки (транзакции БД). 30 +\\AutoOffsetReset = AutoOffsetReset.Earliest 56 56 ENABLE_AUTO_COMMIT = false 57 -{{/code}} 58 - 59 -Возможные проблемы: 60 - 61 -((( 32 +\\Возможные проблемы:((( 62 62 1. Дублирование на отправке. 63 63 1. Не закомиченное смещение (падение consumer). 64 64 1. Отвал consumer по timeout (долгая обработка, сообщение передано к другому consumer). 65 65 66 - 2)TransactionalInbox.37 +TransactionalInbox. 67 67 ))) 68 -))) 69 69 |(% style="width:128px" %)((( 70 70 Exactly‑Once 71 71 )))|(% style="width:1164px" %)Гарантия доставки строго один раз. ... ... @@ -83,26 +83,4 @@ 83 83 ))) 84 84 |(% style="width:108px" %) |(% style="width:1326px" %)Более строгие гарантии могут давать большие накладные расходы (пропускная способность и задержка доставки). 85 85 86 ----- 87 - 88 -==== Внутренние ссылки: ==== 89 - 90 -====== Дочерние страницы: ====== 91 - 92 -{{children/}} 93 - 94 -====== Обратные ссылки: ====== 95 - 96 -{{velocity}} 97 -#set ($links = $doc.getBacklinks()) 98 -#if ($links.size() > 0) 99 - #foreach ($docname in $links) 100 - #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument()) 101 - * [[$escapetool.xml($rdoc.fullName)]] 102 - #end 103 -#else 104 - No back links for this page! 105 -#end 106 -{{/velocity}} 107 - 108 ----- 56 +