2011-04-18 15 views
10

सभी Erlang पर्यवेक्षक उदाहरणों में मैं अभी तक देखा है, वहां आम तौर पर एक "मास्टर" पर्यवेक्षक जो पूरे वृक्ष की निगरानी (या कम से कम पर्यवेक्षक पेड़ में रूट नोड है)। क्या होगा अगर "मास्टर" - पर्यवेक्षक टूट जाता है? "मास्टर"-पर्यवेक्षक की निगरानी कैसे की जानी चाहिए ?? कोई विशिष्ट पैटर्न?एरलांग: पर्यवेक्षक की निगरानी कौन करता है?

उत्तर

10

शीर्ष पर्यवेक्षक start_link का उपयोग शुरू/2 कॉलबैक अपने आवेदन में शुरू होता है, इसका मतलब है कि यह आवेदन प्रक्रिया के साथ जोड़ता है।

  1. तो आवेदन एक स्थायी आवेदन के रूप में पूरे नोड मैं समाप्त करना शुरू कर दिया है (और शायद दिल का उपयोग कर पुन: प्रारंभ): आवेदन प्रक्रिया शीर्ष पर्यवेक्षक मर यह दो चीजों में से एक करता है से एक निकास संकेत प्राप्त करता है।

  2. आवेदन अस्थायी अनुप्रयोग चल बंद हो जाता है के रूप में शुरू किया गया है, कोई पुनः आरंभ करने का प्रयास किया जाएगा।

3

आमतौर पर पर्यवेक्षक "केवल" अन्य प्रक्रियाओं की निगरानी के लिए स्थापित किया जाएगा। कौन सा पुरुषों में कोई उपयोगकर्ता लिखित कोड नहीं है जिसे पर्यवेक्षक द्वारा निष्पादित किया जाता है - इसलिए यह क्रैश होने की संभावना नहीं है।

बेशक, इसे लागू नहीं किया जा सकता है ... तो विशिष्ट पैटर्न में पर्यवेक्षक में कोई भी अनुप्रयोग विशिष्ट तर्क नहीं है ... इसे केवल पर्यवेक्षण करना चाहिए - और कुछ और नहीं करना चाहिए।

+1

लेकिन Erlang आमतौर पर क्लाउड कंप्यूटिंग के लिए प्रयोग किया जाता है .. पर्यवेक्षक अगर, उदाहरण के लिए, सर्वर क्रैश हो जाता है -supervisor "मास्टर" युक्त क्रैश हो सकता है (किसी गलती से प्लग खींचती है?)। इसके अलावा, आमतौर पर ओएस पर चल रहे आपके एप्लिकेशन थ्रेड से कहीं अधिक होता है। इसका मतलब यह नहीं है कि पूरे बादल को उस मामले में दुर्घटनाग्रस्त होना चाहिए .. – Daniel

+4

@dkk Erlang आमतौर पर क्लाउड कंप्यूटिंग के लिए उपयोग नहीं किया जाता है। क्लाउड कंप्यूटिंग एक भारित शब्द है जो पिछले कुछ वर्षों में दिखाई देता है जबकि एरलांग 20 से अधिक वर्षों से आसपास रहा है। Erlang आमतौर पर नहीं बल्कि सर्वर –

+2

@dkk के मध्यम आकार के समूहों के लिए छोटे पर चलता है: आप न पर्यवेक्षकों के साथ अन्य नोड देखने पर, आपको प्रत्येक नोड पर आवेदन प्रति एक मास्टर पर्यवेक्षक की है। –

3

अच्छा सवाल। मुझे यह मानना ​​है कि सभी उदाहरण और ट्यूटोरियल ज्यादातर इस मुद्दे को अनदेखा करते हैं - भले ही कभी-कभी कोई समस्या का उल्लेख करता है (उदाहरण समाधान प्रदान किए बिना):

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

संबंधित मुद्दे