चलो उन आदेश में ले :)
1 - जब एक निर्माता एक संदेश का उत्पादन कर रहा है - यह उस विषय को निर्दिष्ट करेगा जिसे वह संदेश भेजना चाहता है, क्या यह सही है? क्या यह विभाजन के बारे में परवाह करता है?
डिफ़ॉल्ट रूप से, निर्माता विभाजन के बारे में परवाह नहीं करता है। आपके पास बेहतर नियंत्रण के लिए अनुकूलित पार्टीशनर का उपयोग करने का विकल्प है, लेकिन यह पूरी तरह से वैकल्पिक है।
2 - जब कोई ग्राहक चल रहा होता है - तो क्या वह अपना ग्रुप आईडी निर्दिष्ट करता है ताकि वह एक ही विषय के उपभोक्ताओं या कई विषयों के समूह का हिस्सा हो सके जिसमें उपभोक्ताओं का यह समूह रुचि रखता है?
हां, उपभोक्ताओं को लोड साझा करने के लिए एक उपभोक्ता समूह में शामिल (या यदि वे अकेले हैं) बनाते हैं। एक ही समूह के दो उपभोक्ता कभी भी एक ही संदेश प्राप्त नहीं करेंगे।
3 - क्या प्रत्येक उपभोक्ता समूह का दलाल पर एक समान विभाजन है या प्रत्येक उपभोक्ता के पास एक है?
न तो। एक उपभोक्ता समूह में सभी उपभोक्ताओं को दो शर्तों के तहत विभाजन का एक सेट सौंपा गया है: एक ही समूह में दो उपभोक्ताओं के पास कोई भी विभाजन नहीं है - और एक पूरे के रूप में उपभोक्ता समूह को हर मौजूदा विभाजन सौंपा गया है।
4 - क्या ब्रोकर द्वारा विभाजन किए गए हैं, इसलिए उपभोक्ताओं के लिए चिंता का विषय नहीं है?
वे नहीं हैं, लेकिन आप 3 से देख सकते हैं कि मौजूदा विभाजन की तुलना में अधिक उपभोक्ताओं के लिए यह पूरी तरह से बेकार है, इसलिए यह उपभोग के लिए आपका अधिकतम समानता स्तर है।
5 - चूंकि यह प्रत्येक विभाजन के लिए एक ऑफसेट के साथ एक कतार है, क्या यह उपभोक्ता की जिम्मेदारी है कि वह यह निर्दिष्ट करे कि वह कौन से संदेश पढ़ना चाहता है? क्या इसके राज्य को बचाने की जरूरत है?
हां, उपभोक्ता प्रति विषय प्रति ऑफसेट एक बचत करते हैं। यह पूरी तरह से काफ्का द्वारा संचालित है, इसके बारे में कोई चिंता नहीं है।
6 - जब कतार से कोई संदेश हटा दिया जाता है तो क्या होता है? - उदाहरण के लिए: प्रतिधारण 3 घंटे के लिए था, फिर समय बीत जाता है, दोनों तरफ से ऑफसेट को कैसे नियंत्रित किया जाता है?
यदि कोई उपभोक्ता दलालों पर विभाजन के लिए उपलब्ध ऑफसेट का अनुरोध करता है (उदाहरण के लिए, विलोपन के कारण), तो यह एक त्रुटि मोड में प्रवेश करता है, और अंततः इस विभाजन के लिए खुद को रीसेट करता है या तो सबसे हाल ही में उपलब्ध या सबसे पुराना संदेश (इसके आधार पर) auto.offset.reset कॉन्फ़िगरेशन मान), और काम करना जारी रखें।