# मैसेज क्यू — सिस्टम डिज़ाइन

Source: https://www.geekswithgeeks.com/hi/system-design/sd-queues

> एसिंक बफ़र से प्रोड्यूसर को कंज़्यूमर से अलग करना।

## क्यू क्यों

क्यू (Kafka, SQS, RabbitMQ) तेज़ प्रोड्यूसर को काम सौंपकर आगे बढ़ने देता है। कंज़्यूमर अपनी गति से प्रोसेस करते हैं, स्पाइक सोखते हैं और रीस्टार्ट झेलते हैं।

## डिलीवरी गारंटी

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

## डेड-लेटर क्यू जोड़ें

बार-बार विफल संदेश पाइपलाइन रोकने के बजाय DLQ में जाते हैं। आप उन्हें बाद में जाँचते और रीप्ले करते हैं।

**Quiz:** एट-लीस्ट-वन्स क्यू के कंज़्यूमर आइडेम्पोटेंट क्यों होने चाहिए?

- [ ] संदेश क्रम से बाहर आ सकते हैं
- [x] एक ही संदेश एक से अधिक बार आ सकता है
- [ ] संदेश खो सकते हैं

*Answer:* एक ही संदेश एक से अधिक बार आ सकता है. रिट्राई और रीडिलीवरी से डुप्लिकेट आते हैं; आइडेम्पोटेंट हैंडलिंग उन्हें हानिरहित बनाती है।
