Foundationপ্রথম নীতি থেকে
LEVEL 9 · Distributed Systems

At-Least-Once Delivery

অ্যাট-লিস্ট-ওয়ান্স ডেলিভারি

Message হারাবে না, কিন্তু duplicate হতে পারে — receiver-কে তাই idempotent হতেই হয়।

Ack-ভিত্তিক redelivery-র অনিবার্য ফল:

producer → broker (persisted ✓) → consumer process করলো
        ↑ ack network-এ হারালো   → broker আবার পাঠালো → duplicate!
  • At-most-once (হারাতে পারে, ডুপ্লিকেট নয়) বনাম at-least-once — দুই চরমের মাঝে exactly-once; শেষোক্ত কখনো delivery-layer gift নয়, end-to-end dedupe/transaction machinery-র ফল
  • Kafka-র idempotent producer + transactional consumer এক broker-এর ভেতরে ‘effectively once’ দেয়, cross-system যাওয়ামাত্র ধরা খায়
  • Design rule: receiver-কে idempotent বানাও (key, offset tracking, conditional write) — sender-এর guarantee-র উপর জীবন বাঁচানো ভরসাহীন