# क्यू बनाम पब/सब — System Design: Architecture, Scale और Trade-offs

Source: https://www.skillbyai.com/hi/system-design/sd-messaging-patterns

> हर workload के लिए सही messaging model चुनने हेतु queues की pub/sub से और RabbitMQ की Kafka से तुलना करें।

## पॉइंट-टू-पॉइंट बनाम प्रसारण

एक **क्यू** हर संदेश को एक पूल में केवल एक कंज़्यूमर को देता है — काम बाँटने के लिए बढ़िया। **पब/सब** हर संदेश को किसी टॉपिक के हर सब्सक्राइबर को देता है — किसी इवेंट को कई स्वतंत्र लिसनर तक पहुँचाने के लिए बढ़िया।

## एक नज़र में Kafka बनाम RabbitMQ

**RabbitMQ** एक पारंपरिक ब्रोकर है: स्मार्ट रूटिंग, प्रति-संदेश एक्नॉलेजमेंट, कंज़्यूम होने पर संदेश हट जाता है। **Kafka** एक वितरित लॉग है: संदेश एक निर्धारित समय तक रखे जाते हैं, कंज़्यूमर अपना ऑफ़सेट खुद ट्रैक करते हैं और इतिहास रीप्ले कर सकते हैं — विशाल थ्रूपुट और एक ही स्ट्रीम पढ़ने वाले कई स्वतंत्र कंज़्यूमर ग्रुप के लिए बेहतर।

## रीप्ले की ज़रूरत से चुनें

यदि आपको इतिहास दोबारा प्रोसेस करना है (कैश फिर बनाना, एनालिटिक्स बैकफ़िल करना), तो Kafka के लॉग मॉडल का उपयोग करें। यदि आपको लचीली रूटिंग और सरल टास्क क्यू चाहिए, RabbitMQ अक्सर कम परिचालन भार देता है।
