सबसे पहले, ज़ूकीपर केवल उच्च स्तर के उपभोक्ता के लिए आवश्यक है। SimpleConsumer
को ज़ूकीपर को काम करने की आवश्यकता नहीं है।
मुख्य कारण ज़ूकीपर को उच्च स्तर के उपभोक्ता के लिए जरूरी है कि उपभोग वाले ऑफसेट ट्रैक करें और भार संतुलन को संभालें।
अब अधिक जानकारी में।
ऑफसेट ट्रैकिंग के संबंध में, निम्नलिखित परिदृश्य की कल्पना करें: आप उपभोक्ता शुरू करते हैं, 100 संदेश उपभोग करते हैं और उपभोक्ता को बंद कर देते हैं। अगली बार जब आप अपना उपभोक्ता शुरू करेंगे तो आप संभवतः अपने अंतिम उपभोग वाले ऑफसेट (जो 100 है) से फिर से शुरू करना चाहते हैं, और इसका मतलब है कि आपको कहीं भी अधिकतम खपत ऑफसेट स्टोर करना होगा। यहां पर ज़ूकीपर कहां जाता है: यह प्रत्येक समूह/विषय/विभाजन के लिए ऑफ़सेट स्टोर करता है। तो अगली बार जब आप अपना उपभोक्ता शुरू करेंगे तो यह पूछ सकता है "अरे ज़ूकीपर, ऑफसेट मुझे किससे शुरू करना चाहिए?"। कफका वास्तव में न केवल ज़ूकीपर में ऑफसेट स्टोर करने में सक्षम होने की दिशा में आगे बढ़ रहा है, लेकिन अन्य स्टोरेज में भी (अब केवल zookeeper
और kafka
ऑफ़सेट स्टोरेज उपलब्ध हैं और मुझे यकीन नहीं है कि kafka
संग्रहण पूरी तरह कार्यान्वित किया गया है)।
भार संतुलन के संबंध में, उत्पादित संदेशों की मात्रा 1 मशीन द्वारा संभालने के लिए काफी बड़ी हो सकती है और आप शायद किसी बिंदु पर कंप्यूटिंग पावर जोड़ना चाहेंगे। मान लें कि आपके पास 100 विभाजन वाले विषय हैं और आपके पास 10 मशीनों की इस संदेश को संभालने के लिए है। वास्तव में यहां कई प्रश्न उत्पन्न हुए हैं:
- इन 10 मशीनों को एक-दूसरे के बीच विभाजन कैसे विभाजित करना चाहिए?
- यदि मशीनों में से कोई मर जाता है तो क्या होता है?
- यदि आप कोई और मशीन जोड़ना चाहते हैं तो क्या होता है?
और फिर, यहां पर जहां ज़ूकीपर शामिल होता है: यह समूह में सभी उपभोक्ताओं को ट्रैक करता है और प्रत्येक उच्च स्तर के उपभोक्ता को इस समूह में बदलावों के लिए सदस्यता ली जाती है। मुद्दा यह है कि जब कोई उपभोक्ता प्रकट होता है या गायब हो जाता है, तो ज़ूकीपर सभी उपभोक्ताओं को सूचित करता है और पुनर्जन्म को ट्रिगर करता है ताकि वे विभाजन को समान रूप से विभाजित कर सकें (उदाहरण के लिए भार को संतुलित करना)। इस तरह यह गारंटी देता है कि उपभोक्ता में से कोई अन्य मर जाता है, तो इस उपभोक्ता के स्वामित्व वाले विभाजनों को संसाधित करना जारी रहेगा।
उत्तर के लिए धन्यवाद, यह इसे साफ़ करता है, यह मैंने अनुमान लगाया है लेकिन मुझे इसे कहीं भी नहीं मिला। मैंने बस उस संस्करण 0.9 को पढ़ा है, उपभोक्ता अब ज़ूकीपर का उपयोग नहीं करेंगे, और इसका इस्तेमाल ब्रोकर द्वारा नेता चुनाव आदि के लिए किया जाता है। – Luckl507