TGViewer
Yet Another Burakov Yet Another Burakov @another_sa · 6.57K subscribers
Post #278 4.76K
#интеграция

Ничего мы вам не гарантировали

Меня умиляют истории, как кто-то в очередной раз сделал надежную exactly once доставку с помощью XXX и YYY. Обычно это либо оголтелый маркетинг, либо техническая наивность.

Существует ровно два гендера гарантии доставки:
• at most once
• at least once

Все, третьего не дано.
Вы не реализуете exactly once доставку, потому что это фундаментальное ограничение мира, такое же как вечный двигатель или перемещение материи свыше скорости света. За доказательством рекомендую обратиться к задаче двух генералов - она во многих задачах IT проявляется, пусть и неявно.

Тогда что такое exactly once?
Это гарантия обработки. Если говорить просто, то это at least once доставка, где каждое взаимодействие обвешано ретраями и идемпотентностью. Единственный способ обработать сообщение строго один раз - это любой ценой донести его до получателя, а потом уже отсеять дубликаты.

Потому нам нужны transactional in/out-boxы - чтобы корректно донести сообщение до брокера, и строго один раз обработать его на консьюмере. И все это поверх at least once гарантии доставки.

Про аутбоксы можно почитать тут.

А здесь хардкорно про устройство брокеров, и как устроена запись-чтение сообщений.
Wikipedia Two Generals' Problem thought experiment: 2 generals can talk to each other by sending a messenger through enemy territory; how can they agree on time of attack, if any messenger could be captured?
  • 👍 23
  • ❤ 11
  • 🤔 1
More from @another_sa
  1. Sep 21, 2026#брокеры Подъехала запись стрима по Кафке. У нас были грандиозные планы, но в итоге едва д…
  2. Sep 19, 2026Post #614
  3. Sep 19, 2026Планируем вебинар с ребятами из Soft Skills Lab, кому интересно, помогите с выбором темы
  4. Sep 18, 2026Про формальную валидациюю иишечки Многие задачи проектирования можно свести к взаимодейств…
  5. Sep 16, 2026Напоминаю про Кафку вечером, будет вкусно, на всех может не хватить
  6. Sep 14, 2026Во мне давно живет желание сделать что-то (конфу / фест / клуб / пространство) про «мышлен…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →