- डेटा वितरण
- वितरित प्रणालियों के लक्षण
- अनुकूलता
- दोष सहिष्णुता
- मिडलवेयर और एपीआई
- आर्किटेक्चर
- क्लाइंट-सर्वर आर्किटेक्चर
- पीयर-टू-पीयर आर्किटेक्चर
- बहु-स्तरीय आर्किटेक्चर
- प्रोसेसर समूह वास्तुकला
- वितरित प्रणालियों के प्रकार
- क्लस्टर कंप्यूटिंग
- नेटवर्क कंप्यूटिंग
- क्लाउड कंप्यूटिंग
- लक्ष्य
- संसाधनों को साझा करें
- मतिहीनता
- प्रारंभिक
- अंतर और पोर्टेबिलिटी
- अनुमापकता
- अनुप्रयोग
- आभासी मशीन Erlang
- बिटटोरेंट
- फायदा
- नुकसान
- वितरित प्रणालियों के उदाहरण
- StackPath
- इंटरनेट
- संदर्भ
वितरण प्रणाली सॉफ्टवेयर के टुकड़े कई कंप्यूटरों के कार्यों का समन्वय करने के लिए प्रयोग किया जाता है। यह समन्वय संदेशों के आदान-प्रदान के माध्यम से प्राप्त किया जाता है, अर्थात्, डेटा के टुकड़े जो सूचना प्रसारित करते हैं।
वितरित सिस्टम को समवर्ती घटकों, एक संचार नेटवर्क और एक सिंक्रनाइज़ेशन तंत्र की आवश्यकता होती है। वे एक नेटवर्क से जुड़े सिस्टम द्वारा सॉफ्टवेयर सहित संसाधनों के बंटवारे की अनुमति देते हैं। इसलिए, सिस्टम एक नेटवर्क पर आधारित है जो कंप्यूटर को जोड़ता है और संदेशों के रूटिंग को संभालता है।
ए और बी (वितरित सिस्टम)। b (समानांतर प्रणाली)। Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
वितरित कंप्यूटिंग कंप्यूटिंग का एक क्षेत्र है जो वितरित प्रणालियों के विश्लेषण के लिए जिम्मेदार है। कंप्यूटर प्रोग्राम जो किसी वितरित सिस्टम पर चलता है, वितरित प्रोग्राम कहलाता है।
एक संदर्भ में जहां सैकड़ों या हजारों कंप्यूटर हो सकते हैं, जो कि बड़ी इंटरनेट कंपनियों में एक समान अनुपात है, यह बहुत सामान्य है कि घटक विफलताएं हैं, हार्डवेयर, नेटवर्क, डिस्क आदि हों, और सिस्टम होना चाहिए हर समय उनका सामना करने के लिए तैयार।
डेटा वितरण
वितरण बहुत बड़े डेटा समूह को संभालने में सक्षम होने के लिए महत्वपूर्ण है। स्केलेबिलिटी हासिल करना आवश्यक है, जो सिस्टम में नए संसाधनों को जोड़कर डेटा पूल बढ़ने पर स्थिर प्रदर्शन बनाए रखने का साधन है।
दूसरी ओर, वितरण तकनीकी समस्याओं की एक श्रृंखला प्रस्तुत करता है जो वितरित कंप्यूटिंग और भंडारण के डिजाइन और कार्यान्वयन पर विचार करने के लिए महत्वपूर्ण है। एक बिंदु को ध्यान में रखना संभव विफलताओं का जोखिम है।
वितरित प्रणालियों के लक्षण
ए और बी (वितरित सिस्टम)। b (समानांतर प्रणाली)। Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
अनुकूलता
डिवाइस विभिन्न ऑपरेटिंग सिस्टम के साथ काम कर सकते हैं। यह उन्हें उपयोगकर्ताओं को हमेशा समान सेवाएं प्रदान करने से नहीं रोकता है। इस कारण से, सभी कनेक्टेड डिवाइस एक-दूसरे के साथ संगत हैं।
एक और बुनियादी मुद्दा सॉफ्टवेयर का डिज़ाइन है, क्योंकि यह उन सभी प्रणालियों और उपयोगकर्ताओं के साथ भी संगत है जो प्रत्येक कंप्यूटर पर हैं।
दोष सहिष्णुता
कई कंप्यूटरों के साथ एक एकल नेटवर्क होने के नाते, यदि इसका कोई भी घटक विफल हो जाता है, तो अन्य अपने कार्यों को पूरी तरह से जारी रख सकते हैं, त्रुटियों से जल्दी से बच सकते हैं।
इस कारण से, वितरित सिस्टम उनके साथ काम करते समय बहुत अधिक आत्मविश्वास प्रदान करते हैं, क्योंकि सिस्टम के पूरी तरह से विफल होने के लिए यह काफी दुर्लभ है, क्योंकि कार्य एक डिवाइस में नहीं, बल्कि विभिन्न कंप्यूटरों में रहते हैं।
मिडलवेयर और एपीआई
विभिन्न प्रोसेसर वितरण मिडलवेयर का उपयोग करते हैं, उपयोगकर्ताओं को एक सुसंगत और एकीकृत नेटवर्क प्रदान करने के लिए विभिन्न संसाधनों और क्षमताओं को साझा करने में मदद करते हैं। यह कई सेवाओं के साथ आवेदन भी प्रदान करता है, जैसे कि सुरक्षा और क्रैश रिकवरी।
आज, आप एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) के बारे में अधिक सुनते हैं, जो एक प्रवेश द्वार के रूप में कार्य करता है जहां एप्लिकेशन संचार कर सकते हैं। एप्लिकेशन को उनके एपीआई को छोड़कर अन्य अनुप्रयोगों के बारे में कुछ भी जानने की आवश्यकता नहीं है।
आर्किटेक्चर
क्लाइंट-सर्वर आर्किटेक्चर
एक विशेष कंप्यूटर जिसे सर्वर कहा जाता है वह कुछ कार्य कर सकता है, जिसे सेवा कहा जाता है। उदाहरण के लिए, नेटवर्क पर फ़ाइलों की सेवा, कुछ कमांड को निष्पादित करने की क्षमता, या प्रिंटर के लिए मार्ग डेटा। ग्राहक सेवाओं का अनुरोध करने वाला कंप्यूटर है।
मुख्य रूप से उस सेवा के लिए जाना जाने वाला कंप्यूटर जिसे प्रिंट सर्वर, फ़ाइल सर्वर, और इसी तरह कहा जा सकता है।
पीयर-टू-पीयर आर्किटेक्चर
यह मानता है कि प्रत्येक कंप्यूटर में समान क्षमताएं हैं और कोई भी मशीन दूसरों की सेवा के लिए समर्पित नहीं है। इसका एक उदाहरण एक छोटे से कार्यालय में माइक्रो कंप्यूटर का एक सेट है।
नेटवर्क लोगों को एक-दूसरे की फ़ाइलों का उपयोग करने और ईमेल भेजने की अनुमति देता है, लेकिन कोई भी कंप्यूटर सेवाओं का एक विशिष्ट सेट प्रदान नहीं करता है।
बहु-स्तरीय आर्किटेक्चर
कुछ सेवाओं के लिए यह पदानुक्रमित कनेक्टिविटी के लिए समझ में आ सकता है। उदाहरण के लिए:
- एक सर्वर जब अपने कार्यों को कर रहा होता है, तो वह दूसरे प्रकार के सर्वर से संपर्क कर सकता है
- क्लाइंट-सर्वर आर्किटेक्चर एक दो स्तरीय वास्तुकला है।
प्रोसेसर समूह वास्तुकला
एक ऑपरेटिंग सिस्टम स्वचालित रूप से निष्क्रिय कंप्यूटर पर प्रक्रियाएं शुरू कर सकता है और यहां तक कि अधिक सीपीयू चक्रों के साथ सिस्टम में प्रक्रियाओं को माइग्रेट कर सकता है। अन्य मामलों में, एक उपयोगकर्ता उपलब्ध सिस्टम पर प्रक्रियाओं को मैन्युअल रूप से शुरू या स्थानांतरित कर सकता है।
वितरित प्रणालियों के प्रकार
क्लस्टर कंप्यूटिंग
यह उच्च गति वाले स्थानीय क्षेत्र नेटवर्क के माध्यम से जुड़े समान कंप्यूटरों का एक संग्रह है। इसका उपयोग अक्सर समानांतर प्रोग्रामिंग के लिए किया जाता है, जहां कई कंप्यूटरों पर समानांतर में एक एकल कम्प्यूट-गहन प्रोग्राम चलता है।
प्रत्येक क्लस्टर में कंप्यूट नोड्स का एक सेट होता है, जिन्हें मास्टर्स नामक एक या अधिक नोड्स द्वारा मॉनिटर और प्रबंधित किया जाता है।
नेटवर्क कंप्यूटिंग
यह हार्डवेयर और नेटवर्क प्रौद्योगिकी में चिह्नित अंतर के साथ नोड से बना है। कुछ कार्यों के लिए नोड्स के एक विशिष्ट कॉन्फ़िगरेशन के लिए वर्तमान प्रवृत्ति में अधिक विविधता आई है, जो नेटवर्क कंप्यूटिंग में सबसे आम है।
क्लाउड कंप्यूटिंग
यह क्लाउड प्रदाता के डेटा केंद्र में रखे गए वर्चुअलाइज्ड संसाधनों का एक समूह है। ग्राहक विभिन्न प्रकार की क्लाउड सेवाओं का लाभ लेने के लिए एक वर्चुअलाइज्ड इन्फ्रास्ट्रक्चर स्थापित कर सकते हैं।
उपयोगकर्ता के लिए, ऐसा प्रतीत होता है कि वह अपना स्वयं का अनन्य कंप्यूटर किराए पर ले रहा है। हालाँकि, यह वास्तव में संभावना है कि आप इसे अन्य ग्राहकों के साथ साझा कर रहे हैं। वर्चुअल स्टोरेज पर भी यही बात लागू होती है।
इन वर्चुअलाइज्ड संसाधनों को गतिशील रूप से कॉन्फ़िगर किया जा सकता है, इस प्रकार स्केलेबिलिटी की अनुमति मिलती है। यदि अधिक कंप्यूटिंग संसाधनों की आवश्यकता है, तो सिस्टम अधिक खरीद सकता है।
लक्ष्य
संसाधनों को साझा करें
यह भंडारण सुविधाएं, डेटा फाइलें, सेवाएं या नेटवर्क हों, आप इन संसाधनों को अर्थव्यवस्था के लिए, अनुप्रयोगों के बीच साझा करना चाह सकते हैं।
कई अनुप्रयोगों के बीच एक साझा भंडारण सुविधा होना बहुत सस्ता है, इसके लिए अलग-अलग प्रत्येक के लिए भंडारण की खरीद और रखरखाव करना है।
मतिहीनता
यह छिपाने के लिए कि प्रक्रियाओं और संसाधनों को कई कंप्यूटरों में वितरित किया जाता है, संभवतः भौगोलिक रूप से फैलता है। यही है, प्रक्रियाओं और संसाधनों को उपयोगकर्ता से अलग किया जाता है।
प्रारंभिक
यह मूल रूप से इंगित करता है कि एक वितरित प्रणाली उन तत्वों के साथ बनाई गई है जिन्हें आसानी से अन्य प्रणालियों के साथ एकीकृत किया जा सकता है। मानकीकृत नियमों का अनुपालन, उस इंटरफ़ेस के साथ कोई भी प्रक्रिया उसी इंटरफ़ेस के साथ किसी अन्य प्रक्रिया के साथ संवाद कर सकती है।
अंतर और पोर्टेबिलिटी
यह संदर्भित करता है कि विभिन्न निर्माताओं के दो सिस्टम कब एक साथ काम कर सकते हैं। पोर्टेबिलिटी उस सीमा को निर्धारित करती है कि सिस्टम ए के लिए किया गया आवेदन बिना संशोधन के सिस्टम बी पर काम कर सकता है।
अनुमापकता
यह आवश्यक है जब उन उपयोगकर्ताओं में वृद्धि होती है जिन्हें अधिक संसाधनों की आवश्यकता होती है। एक अच्छा उदाहरण नेटफ्लिक्स दर्शकों में हर शुक्रवार की रात में वृद्धि है।
इसका अर्थ है गतिशील रूप से अधिक संसाधनों को जोड़ना, जैसे कि अधिक वीडियो प्रसारण की अनुमति देकर नेटवर्क क्षमता बढ़ाना और एक बार खपत को सामान्य करने के बाद इसे कम करना।
अनुप्रयोग
आभासी मशीन Erlang
LYME सॉफ्टवेयर पैकेज Erlang पर आधारित है और LAMP के लिए एक विकल्प प्रदान करता है। शमूएल ससाबा ओटो ट्रैयन / सीसी बाय-एसए (https://creativecommons.org/licenses/by-sa/3.0)
एरलैंग एक कार्यात्मक भाषा है जिसमें संक्षिप्तता, वितरण और दोष सहिष्णुता के लिए महान शब्दार्थ हैं। एक एरलांग वर्चुअल मशीन एक एरलंग एप्लिकेशन के वितरण को संभालती है।
यह मॉडल कई अलग-अलग प्रक्रियाओं के साथ काम करता है, सभी एक अंतर्निहित संदेश प्रणाली के माध्यम से एक दूसरे के साथ संवाद करने की क्षमता के साथ।
Erlang वर्चुअल मशीन अन्य वर्चुअल मशीनों से कनेक्ट हो सकती है जो विभिन्न स्थानों पर हैं। वर्चुअल मशीन का यह झुंड एक एकल अनुप्रयोग चलाता है, एक मशीन की विफलताओं को दूसरे नोड पर चलाने के लिए शेड्यूल करके संभालता है।
बिटटोरेंट
बिटटोरेंट नेटवर्क ऑपरेशन। Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
यह वेब पर बड़ी फ़ाइलों को स्थानांतरित करने के लिए सबसे व्यापक रूप से उपयोग किए जाने वाले प्रोटोकॉल में से एक है। मुख्य विचार एक मुख्य सर्वर के माध्यम से जाने के बिना नेटवर्क पर विभिन्न साथियों के बीच फ़ाइलों के हस्तांतरण की सुविधा है।
एक बिटटोरेंट क्लाइंट का उपयोग करके, आप एक फ़ाइल डाउनलोड करने के लिए दुनिया भर के कई कंप्यूटरों से जुड़ सकते हैं। समन्वयक के रूप में काम करने वाला कंप्यूटर नेटवर्क पर उन नोड्स को दिखाने में मदद करता है जिनके पास वांछित फ़ाइल है।
बिटटोरेंट आपको स्वेच्छा से फाइलों की मेजबानी करने और उन्हें अन्य उपयोगकर्ताओं के लिए अपलोड करने की अनुमति देता है जो उन्हें चाहते हैं। यह इतना लोकप्रिय है क्योंकि यह नेटवर्क में योगदान के लिए प्रोत्साहन की पेशकश करने वाला अपनी तरह का पहला था।
फायदा
- अधिक नोड्स को आसानी से वितरित सिस्टम में जोड़ा जा सकता है, अर्थात, इसे आवश्यकतानुसार बढ़ाया जा सकता है।
- वितरित प्रणाली में सभी नोड एक दूसरे से जुड़े हुए हैं। इसलिए, प्रत्येक नोड आसानी से अन्य नोड्स के साथ डेटा साझा कर सकता है।
- प्रिंटर जैसे संसाधनों को केवल एक तक सीमित रखने के बजाय कई नोड्स के साथ साझा किया जा सकता है।
- एक नोड की विफलता पूरे वितरित सिस्टम की विफलता के लिए नेतृत्व नहीं करती है। अन्य नोड्स अभी भी एक दूसरे के साथ संवाद कर सकते हैं।
नुकसान
- एक नोड से दूसरे में जाने पर नेटवर्क पर कुछ संदेश और डेटा खो सकते हैं।
- वितरित प्रणालियों में पर्याप्त सुरक्षा प्रदान करना मुश्किल है क्योंकि नोड्स और कनेक्शन दोनों को सुरक्षित किया जाना चाहिए।
- नेटवर्क ओवरलोड हो सकता है यदि वितरित सिस्टम में सभी नोड्स एक ही समय में डेटा भेजने की कोशिश करते हैं।
- वितरित सिस्टम से जुड़ा डेटाबेस एकल उपयोगकर्ता प्रणाली की तुलना में प्रबंधन करने के लिए काफी जटिल और कठिन है।
वितरित प्रणालियों के उदाहरण
वितरित सिस्टम का उपयोग बड़ी संख्या में मामलों में किया जा सकता है, जैसे इलेक्ट्रॉनिक बैंकिंग सिस्टम, बड़े पैमाने पर मल्टीप्लेयर ऑनलाइन गेम और सेंसर नेटवर्क।
StackPath
यह अपनी सामग्री वितरण नेटवर्क सेवा को शक्ति देने के लिए विशेष रूप से बड़ी वितरित प्रणाली का उपयोग करता है। उपस्थिति के प्रत्येक बिंदु (PoP) में नोड्स हैं, जो दुनिया भर में वितरित प्रणाली बनाते हैं।
StackPath सबसे हाल ही में और अक्सर अनुरोधित सामग्री को उस साइट के निकटतम स्थान पर संग्रहीत करता है जिसका उपयोग किया जा रहा है।
अत्याधुनिक कम्प्यूटिंग की गति और फुर्ती का लाभ लेने के अलावा, वर्चुअल कंप्यूटर को इंटरकनेक्ट करके, सिस्टम हजारों युगपत अनुरोधों को बहुत जल्दी से संभाल सकता है।
इंटरनेट
यह दुनिया की सबसे बड़ी वितरित प्रणाली है। कोई भी उपयोगकर्ता एकल प्रणाली की तरह महसूस करता है, भले ही वह लाखों कंप्यूटरों से बना हो।
अमूर्तता की अवधारणा के माध्यम से, आपको पता नहीं है कि डेटा कहाँ संग्रहीत किया जाता है, कितने सर्वर शामिल हैं, या जानकारी ब्राउज़र को कैसे मिलती है। ब्राउज़र इंटरनेट की जटिलता को भंग कर देता है।
यह जीमेल ईमेल या किसी भी अन्य एप्लिकेशन जैसे कि उपयोग किए जा सकने वाले एप्लिकेशन पर भी लागू होता है। प्रत्येक व्यक्ति दैनिक आधार पर वितरित अनुप्रयोगों के साथ सहभागिता करता है।
संदर्भ
- पॉल क्रेज़ीज़ोस्की (2018)। वितरित प्रणाली। से लिया गया: cs.rutgers.edu
- कैथरीन पागनिनी (2019)। प्राइमर: डिस्ट्रिब्यूटेड सिस्टम्स एंड क्लाउड नेटिव कम्प्यूटिंग। द न्यू स्टैक। से लिया गया: thenewstack.io।
- इंटरनेशनल यूनिवर्सिटी ऑफ वेलेंसिया (2020)। वितरित प्रणाली, विशेषताएं और वर्गीकरण। से लिया गया: Universalidadviu.com
- डेविड मीडर (2018)। वितरित प्रणाली। ट्यूटोरियल बिंदु। से लिया गया: tutorialspoint.com
- रॉबर्ट गिब (2019)। एक वितरित प्रणाली क्या है? से लिया गया: blog.stackpath.com
- स्टानिस्लाव कोज़लोव्स्की (2018)। वितरित सिस्टम का संपूर्ण परिचय। नि: शुल्क कोड शिविर। से लिया गया: freecodecamp.org