मैं एकाधिक एरलांग अनुप्रयोगों को चलाने के लिए चाहता हूं, एक रियाक और दूसरा वेब सर्वर है। क्या मुझे उन्हें अलग एरलांग वीएम के समान चलाना चाहिए और क्यों?एकाधिक Erlang अनुप्रयोगों को चलाना। एक या कई वीएम?
उत्तर
यदि उन्हें एक-दूसरे के साथ कुछ भी करने की ज़रूरत नहीं है: नहीं। आपको किसी एक अनुप्रयोग के लिए वीएम को पुनरारंभ करने की आवश्यकता हो सकती है, जिसके परिणामस्वरूप दोनों के लिए डाउनटाइम होगा।
इसे "भाग्य साझाकरण" कहा जाता है, जो एक आम डिजाइन निर्णय है। अधिक उप-सिस्टम आम संसाधन साझा करते हैं, उतना ही उनके "भाग्य" एक साथ बंधे होते हैं। खराब होने की विफलता/विफलता की स्थिति में, अधिक "भाग्य साझाकरण" -> व्यवस्थित विफलता की बढ़ती संभावना।
आईएफ आप प्रत्येक को अलग-अलग वीएम में रख सकते हैं तो मैं कहूंगा कि यह इस तरह बेहतर है।
क्या यह इस बात का तात्पर्य नहीं है कि मुझे अपनी सभी सर्वर प्रक्रियाओं को एक अलग वीएम में चलाना चाहिए? :) – Zed
@zed: यह बिल्कुल सही नहीं है (पूंजी पत्र में "IF" को नोटिस करें)। ** ** ** ** एक एसपीओफ़ (असफलता का अकेला) ** कहीं ** ** है - यह किसी दिए गए लागत बिंदु के लिए स्वीकार्य स्तर की उपलब्धता के लिए सिस्टम का प्रबंधन करने के लिए नीचे आता है। लेकिन आप सब जानते थे, मुझे पता है कि आप इस बिंदु पर सिर्फ अपना पैर खींच रहे हैं! चीयर्स। – jldupont
जबकि कई decoupling इन उपप्रणालीओं की सिफारिश करेंगे, मैं विपरीत दृष्टिकोण लेगा। Erlang एक release पर कई applications चलाने के लिए रणनीति में बनाया गया है। यदि आपके एप्लिकेशन एक-दूसरे से सीधे बात करते हैं तो यह आपके लिए एक रिलीज में एक साथ बंडल करने के लिए समझ में आ सकता है। यह अनुप्रयोगों के बीच तेजी से कॉल करेगा। कुछ लोग तर्क देंगे कि आपके सभी एप्लिकेशन अब एक ही भाग्य साझा करते हैं, आपको सिस्टम को अपग्रेड के लिए नीचे ले जाने की आवश्यकता है, केवल एप्लिकेशन में से एक की आवश्यकता है। यह एरलांग के साथ एक महत्वपूर्ण बिंदु है जहां आप अपने अनुप्रयोगों को कई नोड्स में वितरित कर रहे हैं। इसके अलावा अधिकांश उन्नयन hot code loading के साथ किया जा सकता है।
मैंने सोचा कि एरलांग वीएम नीचे नहीं गया है? – Zubair
एक पुनरारंभ करने का एक कारण एक वीएम विकल्प को संशोधित करना है। आप इसे पुनरारंभ किए बिना नहीं कर सकते हैं। आगे: इस मामले में एक विफलता हो सकती है, इसलिए ऐप नीचे नहीं है, सिर्फ एक नोड। : डी – ZeissS
एक नए एरलांग वीएम संस्करण में अपग्रेड करने के लिए भी पुनरारंभ करने की आवश्यकता है। – Zed