Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें · पाठ

संदेश कुंजियाँ और पार्टिशनिंग रणनीतियाँ

जानिए कि Kafka रिकॉर्ड को पार्टिशन तक भेजने के लिए संदेश कुंजियों का उपयोग कैसे करता है, यह क्रम कैसे सुनिश्चित करता है और कुंजियों तथा कस्टम पार्टिशनर का अभिकल्पन कैसे करें।

पाठ 4, कुल 4 में से13 चरण

संदेश कुंजियाँ और पार्टिशनिंग रणनीतियाँ, CoddyKit पर Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

कुंजी की भूमिका

प्रत्येक Kafka रिकॉर्ड में एक वैकल्पिक कुंजी हो सकती है। कुंजी केवल डेटा नहीं होती—यह निर्धारित करती है कि रिकॉर्ड किस पार्टिशन में लिखा जाएगा।

डिफ़ॉल्ट पार्टिशनर

जब कुंजी मौजूद होती है, तो डिफ़ॉल्ट पार्टिशनर उसका हैश बनाकर उस हैश को किसी पार्टिशन से मैप करता है। समान पार्टिशन संख्या होने पर समान कुंजी हमेशा उसी पार्टिशन में जाती है।

partition = hash(key) % numPartitions

कुंजी न होने का व्यवहार

यदि आप बिना कुंजी के रिकॉर्ड भेजते हैं, तो उत्पादक संतुलित लोड के लिए उन्हें पार्टिशनों में वितरित करता है (आधुनिक क्लाइंट में स्टिकी बैचिंग)—लेकिन पार्टिशनों के बीच क्रम की गारंटी नहीं होती।

क्रम की गारंटी

Kafka क्रम की गारंटी केवल किसी पार्टिशन के भीतर देता है। संबंधित रिकॉर्डों में समान कुंजी देकर (जैसे किसी एक ऑर्डर आईडी के सभी इवेंट), आप सुनिश्चित करते हैं कि उनका प्रसंस्करण क्रम से हो।

send("orders", orderId, event);  // all events for an order stay ordered

अच्छी कुंजी चुनना

अच्छी कुंजी आपकी क्रम और समूह बनाने की आवश्यकताओं को दर्शाती है।

  • उपयोगकर्ता इवेंट userId के आधार पर कुंजीबद्ध।
  • ऑर्डर इवेंट orderId के आधार पर कुंजीबद्ध।
  • बहुत कम अलग-अलग मान वाली कुंजियों से बचें (वे हॉट पार्टिशन बनाती हैं)।

हॉट पार्टिशन

यदि कोई एक कुंजी मान ट्रैफ़िक पर हावी हो जाता है, तो उसका पार्टिशन हॉटस्पॉट बन जाता है, जबकि अन्य निष्क्रिय पड़े रहते हैं। लोड संतुलित रखने के लिए कुंजी की कार्डिनैलिटी और वितरण पर नज़र रखें।

Spring Boot में कुंजीकरण

कुंजी को send के दूसरे आर्ग्युमेंट के रूप में पास करें; Spring इसे पार्टिशनर तक भेजता है।

kafkaTemplate.send("orders", order.getId(), payload);

कस्टम पार्टिशनर

विशेष रूटिंग तर्क के लिए Partitioner interface लागू करें और partition() को ओवरराइड करें।

public int partition(String topic, Object key, byte[] keyBytes,
        Object value, byte[] valueBytes, Cluster cluster) {
    return isVip(key) ? 0 : 1 + (Math.abs(key.hashCode()) % (n - 1));
}

पार्टिशनर का पंजीकरण

विन्यास के माध्यम से उत्पादक को अपनी class का उपयोग करने के लिए कहें।

spring:
  kafka:
    producer:
      properties:
        partitioner.class: com.example.VipPartitioner

पार्टिशन संख्या और कुंजियाँ

पार्टीशन की संख्या बदलने से hash % numPartitions बदल जाता है, इसलिए मौजूदा कुंजियाँ नए पार्टीशन में जा सकती हैं और क्रम टूट सकता है। शुरुआत में ही पार्टीशन की संख्या सावधानी से चुनें।

इसे एक साथ समझना

कुंजियाँ डेटा और पार्टीशन के बीच कड़ी का काम करती हैं। वे आपको प्रत्येक कुंजी के लिए क्रमबद्धता देती हैं, लोड वितरण को नियंत्रित करती हैं और उन्नत रूटिंग के लिए पार्टीशनर द्वारा अनुकूलित की जा सकती हैं।

त्वरित जाँच

कुंजियों और पार्टीशनिंग की अपनी समझ जाँचें।

पुनरावलोकन

आपने संदेश कुंजियों और पार्टीशनिंग के बारे में सीखा।

  • हैशिंग के माध्यम से कुंजी लक्ष्य पार्टीशन निर्धारित करती है।
  • एक ही कुंजी, एक ही पार्टीशन और क्रमबद्ध प्रोसेसिंग।
  • कम विविधता वाली कुंजियाँ अत्यधिक व्यस्त पार्टीशन बनाती हैं।
  • कस्टम पार्टीशनर उन्नत रूटिंग सक्षम करता है।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “संदेश कुंजियाँ और पार्टिशनिंग रणनीतियाँ” पाठ निःशुल्क है?

हाँ — Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “संदेश कुंजियाँ और पार्टिशनिंग रणनीतियाँ” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“संदेश कुंजियाँ और पार्टिशनिंग रणनीतियाँ” में मैं क्या सीखूँगा?

जानिए कि Kafka रिकॉर्ड को पार्टिशन तक भेजने के लिए संदेश कुंजियों का उपयोग कैसे करता है, यह क्रम कैसे सुनिश्चित करता है और कुंजियों तथा कस्टम पार्टिशनर का अभिकल्पन कैसे करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“संदेश कुंजियाँ और पार्टिशनिंग रणनीतियाँ” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Kafka को संदेश भेजना
  2. Kafka से संदेश प्राप्त करना
  3. पार्टिशन और ऑफ़सेट को समझना
  4. संदेश कुंजियाँ और पार्टिशनिंग रणनीतियाँ
← Apache Kafka और स्ट्रीम प्रसंस्करण की बुनियादी बातें पर वापस जाएँ