"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > काफ्का में स्तरीय भंडारण - उबर के प्रौद्योगिकी ब्लॉग से सारांश

काफ्का में स्तरीय भंडारण - उबर के प्रौद्योगिकी ब्लॉग से सारांश

2024-08-17 को प्रकाशित
ब्राउज़ करें:345

Tiered Storage in Kafka - Summary from Uber

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

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

इसलिए, उबर ने एक समाधान प्रस्तावित किया जो बाहरी भंडारण के तर्क को समाहित करता है, जिससे यह सरल कॉन्फ़िगरेशन के साथ प्लग-एंड-प्ले बन जाता है। यह सुविधा अपाचे फाउंडेशन के सहयोग से विकसित की जा रही है और भविष्य के संस्करणों में उपलब्ध होगी।

परिदृश्य

यह समझना महत्वपूर्ण है कि काफ्का बहुत उच्च थ्रूपुट क्षमताओं वाला एक केवल-परिशिष्ट संदेश कतार (एमक्यू) घटक है। काफ्का ब्रोकर के स्थानीय भंडारण पर लॉग संग्रहीत करता है, और उपयोगकर्ता अवधारण समय या लॉग आकार को कॉन्फ़िगर कर सकते हैं। मेरी पिछली कंपनी (लेनोवो) में, हमने लगातार डेटा उपभोग करने के लिए फ़्लिंक का उपयोग किया था। बड़ी मात्रा में डेटा के कारण काफ्का डिस्क भंडारण सीमा को पार कर जाएगा, जिससे डेटा लेखन विफलताएं और व्यावसायिक त्रुटियां होंगी। लागत कम करने के लिए, अधिक मशीनें तैनात करने के बजाय, हम केवल अवधारण समय को समायोजित कर सकते हैं।

इसके अतिरिक्त, यदि प्रत्येक कंपनी को पुराने डेटा को बाह्य भंडारण में सहेजने के लिए अपनी स्वयं की प्रणाली विकसित करनी होती, तो इसमें बड़ी मात्रा में विकास कार्य शामिल होते। सिंक्रोनाइज़ेशन और डेटा संगति से संबंधित कई मुद्दे भी होंगे।

समाधान

सार इसमें रिमोट लॉग प्रबंधन और भंडारण प्रबंधन जोड़कर ब्रोकर को बदलना है।

RemoteLogManager: प्रतिलिपि बनाने, साफ़ करने और लाने सहित दूरस्थ लॉग खंडों के जीवनचक्र का प्रबंधन करता है।

रिमोटस्टोरेजमैनेजर: कॉपी करने, लाने और हटाने सहित रिमोट लॉग सेगमेंट के लिए कार्यों का प्रबंधन करता है। रिमोट लॉग सेगमेंट से जुड़े मेटाडेटा में सेगमेंट की शुरुआत और अंत ऑफसेट, टाइमस्टैम्प, निर्माता राज्य स्नैपशॉट और लीडर युग चौकियों के बारे में जानकारी शामिल होती है।
रिमोटलॉगमेटाडेटामैनेजर यह सुनिश्चित करने के लिए इस मेटाडेटा पर नज़र रखता है कि सिस्टम को पता है कि प्रत्येक सेगमेंट कहां शुरू और समाप्त होता है, और डेटा पुनर्प्राप्ति और प्रबंधन के लिए आवश्यक अन्य महत्वपूर्ण जानकारी।

RemoteLogMetadataManager: मजबूत स्थिरता के साथ दूरस्थ लॉग सेगमेंट के लिए मेटाडेटा जीवनचक्र का प्रबंधन करता है।

उनमें से, रिमोटलॉगमैनेजर एक नियंत्रण घटक के रूप में कार्य करता है, जो पढ़े गए डेटा को पुनः प्राप्त करने के लिए सीधे ब्रोकर में डिस्क से जुड़ता है। यह रिमोट डेटा को वापस कॉल करने के लिए भी जिम्मेदार है। रिमोटस्टोरेजमैनेजर वह इकाई है जो डेटा पर काम करती है, और रिमोटलॉगमेटाडेटामैनेजर मेटाडेटा के प्रबंधन के लिए जिम्मेदार है।

काफ्का टियरड स्टोरेज में तीन क्रियाओं का सारांश

  1. सेगमेंट को रिमोट स्टोरेज में कॉपी करना
    एक लॉग सेगमेंट को रिमोट स्टोरेज में कॉपी करने के लिए योग्य माना जाता है यदि इसका अंतिम ऑफसेट (सेगमेंट में अंतिम संदेश का ऑफसेट) विभाजन के अंतिम-स्थिर-ऑफसेट से कम है। (अंतिम-स्थिर-ऑफसेट (एलएसओ): उच्चतम ऑफसेट जिसके लिए सभी पूर्व संदेशों को सभी इन-सिंक प्रतिकृतियों द्वारा पूरी तरह से स्वीकार किया जाता है, जिससे कोई डेटा हानि सुनिश्चित नहीं होती है।)RemoteStorageManager उनके संबंधित इंडेक्स, टाइमस्टैम्प, निर्माता स्नैपशॉट और लीडर एपोक कैश के साथ लॉग सेगमेंट की प्रतिलिपि को संभालता है।

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

  3. रिमोट स्टोरेज से सेगमेंट लाया जा रहा है
    रिमोटलॉगमैनेजर रिमोटलॉगमेटाडेटामैनेजर का उपयोग करके मेटाडेटा स्टोर को देखकर वांछित ऑफसेट और लीडर युग के आधार पर लक्षित रिमोट सेगमेंट निर्धारित करता है। यह सेगमेंट के भीतर स्थिति ढूंढने और वांछित डेटा प्राप्त करना शुरू करने के लिए रिमोटस्टोरेजमैनेजर का उपयोग करता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/bochaoli95/tiered-storage-in-kafka-summary-from-ubers-technology-blog-40cg?1 यदि कोई उल्लंघन है, तो कृपया [email protected] पर संपर्क करें इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3