परिचय
Kafka और JMS दोनों मैसेजिंग सिस्टम हैं। Java मैसेज सर्विस एक API है जो Java द्वारा प्रदान की जाती है। इसका उपयोग आपके एप्लिकेशन में मैसेजिंग सिस्टम को लागू करने के लिए किया जाता है। JMS क्यू और पब्लिशर/सब्सक्राइबर (टॉपिक) मैसेजिंग सिस्टम का समर्थन करता है। क्यू के साथ, जब पहला कंज्यूमर एक मैसेज का उपभोग करता है, तो मैसेज क्यू से हट जाता है और अन्य इसे नहीं ले सकते। टॉपिक के साथ, कई कंज्यूमर्स प्रत्येक मैसेज को प्राप्त करते हैं लेकिन इसे स्केल करना बहुत कठिन है।
Kafka इन दो अवधारणाओं का एक सामान्यीकरण है - यह एक ही कंज्यूमर ग्रुप के सदस्यों के बीच स्केलिंग की अनुमति देता है, लेकिन यह कई अलग-अलग कंज्यूमर ग्रुप्स के बीच एक ही मैसेज को ब्रॉडकास्ट करने की भी अनुमति देता है। Kafka नए कंज्यूमर के कंज्यूमर ग्रुप में शामिल होने या छोड़ने पर ऑटोमैटिक रीबैलेंसिंग भी प्रदान करता है।
| क्र. सं. | मुख्य बिंदु | Apache Kafka | JMS |
|---|---|---|---|
| 1 | बुनियादी | Apache Kafka एक डिस्ट्रिब्यूटेड पब्लिश-सब्सक्राइब मैसेजिंग सिस्टम है जो असमान सोर्स सिस्टम से डेटा प्राप्त करता है और डेटा को रियल-टाइम में टारगेट सिस्टम के लिए उपलब्ध कराता है। | Java मैसेज सर्विस एक API है जो Java द्वारा प्रदान की जाती है। इसका उपयोग आपके एप्लिकेशन में मैसेजिंग सिस्टम को लागू करने के लिए किया जाता है। |
| 2 | पुल/पुश मैकेनिज्म | यह पुल मैकेनिज्म का उपयोग करता है, क्लाइंट को हर बार मैसेज के लिए पोल करने की आवश्यकता होती है | यह पुश-आधारित मॉडल का उपयोग करता है, मैसेज को सभी कंज्यूमर्स को ब्रॉडकास्ट किया जा सकता है |
| 3 | मैसेज रिटेंशन पॉलिसी | यह पॉलिसी-आधारित है | एकनॉलेजमेंट-आधारित |
| 4 | ऑटो रीबैलेंसिंग | यह कंज्यूमर ग्रुप में नए कंज्यूमर के जुड़ने या हटने पर ऑटो-बैलेंसिंग प्रदान करता है | यह ऑटो-रीबैलेंसिंग प्रदान नहीं करता |
| 5 | मैसेज का क्रम | Kafka सुनिश्चित करता है कि मैसेज उसी क्रम में प्राप्त हों जिस क्रम में उन्हें पार्टीशन लेवल पर भेजा गया था | JMS मैसेज के क्रम का समर्थन नहीं करता। |