Apache Storm Kya Hai

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

अपाचे स्टॉर्म रियल टाइम डेटा एनालिटिक्स में अग्रणी बना हुआ है. स्टॉर्म को स्थापित करना, संचालित करना आसान है और यह गारंटी देता है कि प्रत्येक संदेश को कम से कम एक बार टोपोलॉजी के माध्यम से संसाधित किया जाएगा.

Apache Storm vs Hadoop

मूल रूप से Hadoop और Storm चौखटों का उपयोग बड़े डेटा के विश्लेषण के लिए किया जाता है. दोनों एक दूसरे के पूरक हैं और कुछ पहलुओं में भिन्न हैं. अपाचे स्टॉर्म दृढ़ता के अलावा सभी ऑपरेशन करता है जबकि हडोप सब कुछ अच्छा है लेकिन वास्तविक समय की गणना में पिछड़ जाता है. निम्न तालिका स्टॉर्म और हडोप की विशेषताओं की तुलना करती है -

Use Cases of Apache Storm

अपाचे स्टॉर्म रियल-टाइम बड़े डेटा स्ट्रीम प्रोसेसिंग के लिए बहुत प्रसिद्ध है. इस कारण से अधिकांश कंपनियां स्टॉर्म को अपने सिस्टम के अभिन्न अंग के रूप में उपयोग कर रही हैं. कुछ उल्लेखनीय उदाहरण इस प्रकार हैं -

Twitter

ट्विटर अपने प्रकाशक एनालिटिक्स उत्पादों की रेंज के लिए अपाचे स्टॉर्म का उपयोग कर रहा है. प्रकाशक Analytics उत्पाद ट्विटर प्लेटफ़ॉर्म में प्रत्येक ट्वीट और क्लिक को संसाधित करता है. अपाचे स्टॉर्म का ट्विटर इंफ्रास्ट्रक्चर से गहरा नाता है.

NaviSite

NaviSite इवेंट लॉग मॉनिटरिंग ऑडिटिंग सिस्टम के लिए स्टॉर्म का उपयोग कर रहा है. सिस्टम में उत्पन्न हर लॉग स्टॉर्म से गुजरेगा. स्टॉर्म नियमित अभिव्यक्ति के कॉन्फ़िगर किए गए सेट के खिलाफ संदेश की जांच करेगा और यदि कोई मेल है तो उस विशेष संदेश को डेटाबेस में सहेजा जाएगा.

Wego

वेगो सिंगापुर में स्थित एक यात्रा मेटासर्च इंजन है. यात्रा संबंधी डेटा दुनिया भर में कई स्रोतों से अलग-अलग समय के साथ आता है. स्टॉर्म वास्तविक समय के डेटा को खोजने के लिए वीगो की मदद करता है समसामयिक मुद्दों को हल करता है और अंत-उपयोगकर्ता के लिए सबसे अच्छा मैच ढूंढता है.

Apache Storm Benefits

यहां उन लाभों की सूची दी गई है जो अपाचे स्टॉर्म प्रदान करते हैं -

  1. स्टॉर्म खुला स्रोत, मजबूत और उपयोगकर्ता के अनुकूल है. इसका उपयोग छोटी कंपनियों के साथ-साथ बड़े निगमों में भी किया जा सकता है.

  2. स्टॉर्म गलती सहिष्णु, लचीला, विश्वसनीय है, और किसी भी प्रोग्रामिंग भाषा का समर्थन करता है.

  3. वास्तविक समय स्ट्रीम प्रसंस्करण की अनुमति देता है.

  4. स्टॉर्म अविश्वसनीय रूप से तेज़ है क्योंकि इसमें डेटा को संसाधित करने की भारी शक्ति है.

  5. स्टॉर्म रैखिक रूप से संसाधनों को जोड़कर बढ़ते भार के तहत भी प्रदर्शन को बनाए रख सकता है. यह अत्यधिक स्केलेबल है.

  6. स्टॉर्म सेकंड या मिनटों में डेटा रिफ्रेश और एंड-टू-एंड डिलीवरी प्रतिक्रिया करता है जो समस्या पर निर्भर करता है इसकी बहुत कम विलंबता है.

  7. यदि क्लस्टर में कोई भी कनेक्टेड नोड्स मर जाते हैं या संदेश खो जाते हैं, तो भी स्टॉर्म गारंटीकृत डेटा प्रोसेसिंग प्रदान करता है.

Apache Storm Core Concepts

अपाचे स्टॉर्म एक छोर से वास्तविक समय के डेटा की कच्ची धारा को पढ़ता है और इसे छोटी प्रसंस्करण इकाइयों के अनुक्रम से गुजरता है और दूसरे छोर पर संसाधित उपयोगी जानकारी को आउटपुट करता है.

ट्विटर विश्लेषण का इनपुट ट्विटर स्ट्रीमिंग एपीआई से आता है. स्पाउट ट्विटर स्ट्रीमिंग एपीआई और आउटपुट की ट्यूपल्स की धारा के रूप में उपयोग करने वाले उपयोगकर्ताओं के ट्वीट्स को पढ़ेगा. टोंटी से एक एकल टपल में एक ट्विटर उपयोगकर्ता नाम होगा और एक एकल ट्वीट अल्पविराम द्वारा अलग किए गए मान के रूप में होगा. फिर टुपल्स की इस भाप को बोल्ट के आगे भेजा जाएगा और बोल्ट व्यक्तिगत शब्द में ट्वीट को विभाजित करेगा शब्द गणना की गणना करेगा और एक कॉन्फ़िगर किए गए डेटा स्रोत पर जानकारी को बनाए रखेगा. अब हम डेटासोर्स को क्वेरी करके आसानी से परिणाम प्राप्त कर सकते हैं.

Topology

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

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

स्टॉर्म टोपोलॉजी को हमेशा चालू रखता है जब तक कि आप टोपोलॉजी को मार नहीं देते. अपाचे स्टॉर्म का मुख्य काम टोपोलॉजी को चलाना है और किसी भी समय किसी भी टोपोलॉजी को चलाना होगा.

Tasks

अब आपके पास टोंटी और बोल्ट पर एक मूल विचार है. वे टोपोलॉजी की सबसे छोटी तार्किक इकाई हैं और एक टोपोलॉजी एकल टोंटी और बोल्ट की एक सरणी का उपयोग करके बनाया गया है. टोपोलॉजी को सफलतापूर्वक चलाने के लिए उन्हें एक विशेष क्रम में ठीक से निष्पादित किया जाना चाहिए. स्टॉर्म द्वारा प्रत्येक स्पाउट और बोल्ट के निष्पादन को टास्क कहा जाता है. सरल शब्दों में एक कार्य या तो टोंटी या बोल्ट का निष्पादन है. एक निश्चित समय पर प्रत्येक टोंटी और बोल्ट में कई अलग-अलग थ्रेड्स में चलने वाले कई उदाहरण हो सकते हैं.

Workers

एक टोपोलॉजी कई श्रमिक नोड्स पर वितरित तरीके से चलती है. स्टॉर्म सभी कार्यकर्ता नोड्स पर समान रूप से कार्यों को फैलाता है. जब भी कोई नया काम आता है तो काम के लिए श्रमिक नोड की भूमिका नौकरियों को सुनना और शुरू करना या प्रक्रियाओं को रोकना है.

Stream Grouping

डेटा प्रवाह की गति स्प्राउट्स से बोल्ट तक या एक बोल्ट से दूसरे बोल्ट तक होती है. स्ट्रीम ग्रुपिंग नियंत्रित करता है कि टोपोलॉजी टोपोलॉजी में कैसे रूट की जाती है और हमें टोपोलॉजी के प्रवाह में समझने में मदद करता है. नीचे बताए अनुसार चार-निर्मित समूह हैं.

Shuffle Grouping

फेरबदल समूहीकरण में बोल्ट को निष्पादित करने वाले सभी श्रमिकों में समान रूप से टुपल्स को यादृच्छिक रूप से वितरित किया जाता है.

Field Grouping

टुपल्स में समान मान वाले फ़ील्ड को एक साथ समूहीकृत किया जाता है और शेष ट्यूपल्स को बाहर रखा जाता है. फिर उसी फ़ील्ड मान वाले टुपल्स को बोल्ट को निष्पादित करने वाले एक ही कार्यकर्ता के लिए आगे भेजा जाता है. उदाहरण के लिए यदि स्ट्रीम को शब्द द्वारा समूहित किया जाता है तो उसी स्ट्रिंग के साथ ट्यूपल्स हेलो उसी कार्यकर्ता के पास जाएंगे.

Global Grouping

सभी धाराओं को एक बोल्ट के लिए समूहीकृत और आगे किया जा सकता है. यह समूहीकरण स्रोत के सभी उदाहरणों द्वारा उत्पन्न ट्यूपल्स को विशेष रूप से एकल लक्ष्य उदाहरण के लिए भेजता है कार्यकर्ता को सबसे कम आईडी के साथ चुनें.

All Grouping

सभी ग्रुपिंग प्रत्येक बोल्ट की प्रत्येक प्रति प्राप्त बोल्ट को भेजती है. बोल्ट को सिग्नल भेजने के लिए इस तरह के समूह का उपयोग किया जाता है. सभी समूहीकरण कार्य में शामिल होने के लिए उपयोगी है.