मैं काफ्का के लिए नया हूं और जब मैं काफ्का दस्तावेज़ पढ़ता हूं, तो मुझे एहसास होता है कि एक ही कुंजी के साथ प्रदान किए गए संदेशों को ऑर्डर की गारंटी के लिए उसी विभाजन में मैप किया जाएगा। यह पूरी तरह से समझ में आता है। हालांकि, मैं जानना चाहता हूं कि क्या हम रनटाइम में विषय विभाजन की संख्या बढ़ाते हैं, क्या उसी कुंजी वाले नए संदेशों को उसी विभाजन (पुराने वाले) में पहले की तरह हैश किया जाएगा?

यदि हां, तो क्या होगा यदि सभी संदेशों को कुंजियों के साथ प्रदान किया जाता है, तो उनमें से कोई भी नए विभाजन में मैप नहीं किया जाएगा? यह मेरे लिए कोई मतलब नहीं है।

यदि नहीं, तो काफ्का एक ही कुंजी वाले संदेशों के क्रम की गारंटी कैसे देता है?

5
injoy 28 सितंबर 2020, 07:34

1 उत्तर

सबसे बढ़िया उत्तर

मैं जानना चाहता हूं कि क्या हम रनटाइम में विषय विभाजन की संख्या बढ़ाते हैं, क्या समान कुंजी वाले नए संदेशों को पहले की तरह उसी विभाजन (पुराने वाले) में हैश किया जाएगा?

नहीं, नए संदेशों को विभाजन की नई संख्या के आधार पर विभाजित किया जाएगा। पुराने संदेशों का पुन: विभाजन नहीं होगा।

यदि नहीं, तो काफ्का एक ही कुंजी वाले संदेशों के क्रम की गारंटी कैसे देता है?

विभाजन की संख्या बदलते समय कोई गारंटी नहीं है। रनटाइम पर विभाजन की संख्या में वृद्धि (या घटती) होने पर क्रम बदल सकता है, या बेहतर होगा।

यदि आप अपने डेटा के क्रम पर भरोसा कर रहे हैं तो किसी विषय के विभाजन को बदलने की अनुशंसा नहीं की जाती है जिसमें पहले से ही डेटा शामिल है। आप क्या कर सकते हैं

  • अपने निर्माता को डेटा भेजने से पहले मौजूदा डेटा को एक नए विषय में नए विभाजन के साथ कॉपी करने के लिए।
  • अपने निर्माता में एक कस्टम पार्टीशनर लागू करें जो एक निश्चित विभाजन में एक कुंजी के आधार पर संदेश भेजता है और केवल "नई कुंजी" नए विभाजन को भेजता है।
3
mike 28 सितंबर 2020, 06:25