# डिलीवरी गारंटी — System Design: Architecture, Scale और Trade-offs

Source: https://www.skillbyai.com/hi/system-design/sd-delivery-semantics

> At-most-once, at-least-once और exactly-once delivery सीखें, और जानें कि idempotent consumers exactly-once के कितने करीब पहुँचते हैं।

## तीन गारंटी

**एट-मोस्ट-वन्स**: भेजो और भूल जाओ, संदेश खो सकता है पर कभी दोहराया नहीं जाता। **एट-लीस्ट-वन्स**: एक्नॉलेज होने तक रिट्राई करें, संदेश दोहराया जा सकता है पर कभी खोता नहीं। **एग्ज़ैक्टली-वन्स**: हर संदेश का प्रभाव ठीक एक बार होता है — सिरे-से-सिरे गारंटी देना सबसे कठिन और महँगा।

## रजिस्टर्ड डाक बनाम पुकार

एट-मोस्ट-वन्स शोरगुल भरे कमरे में पुकारना है — तेज़, पहुँचे न पहुँचे। एट-लीस्ट-वन्स पावती रसीद वाली रजिस्टर्ड डाक है — पुष्टि होने तक आप दोबारा भेजते रहते हैं, इसलिए प्राप्तकर्ता को दो प्रतियाँ मिल सकती हैं। एग्ज़ैक्टली-वन्स के लिए प्राप्तकर्ता को ट्रैकिंग नंबर से डुप्लिकेट हटाने की भी ज़रूरत है — असल में एट-लीस्ट-वन्स डिलीवरी और आइडेम्पोटेंट प्रोसेसिंग साथ में।

**Quiz:** अधिकांश वास्तविक-दुनिया के 'एग्ज़ैक्टली-वन्स' सिस्टम असल में किस संयोजन से बनते हैं?

- [x] एट-लीस्ट-वन्स डिलीवरी + आइडेम्पोटेंट कंज़्यूमर
- [ ] एट-मोस्ट-वन्स डिलीवरी + रिट्राई
- [ ] एक सिंगल ग्लोबल लॉक
- [ ] हर service पर two-phase commit

*Answer:* एट-लीस्ट-वन्स डिलीवरी + आइडेम्पोटेंट कंज़्यूमर. कम से कम एक बार डिलीवर करना और फिर कंज़्यूमर साइड पर डुप्लिकेट हटाना ही व्यावहारिक तरीका है जिससे अधिकांश सिस्टम एग्ज़ैक्टली-वन्स प्रभाव पाते हैं।
