2010-02-03 13 views
7

मैं एकाधिक एरलांग अनुप्रयोगों को चलाने के लिए चाहता हूं, एक रियाक और दूसरा वेब सर्वर है। क्या मुझे उन्हें अलग एरलांग वीएम के समान चलाना चाहिए और क्यों?एकाधिक Erlang अनुप्रयोगों को चलाना। एक या कई वीएम?

उत्तर

4

यदि उन्हें एक-दूसरे के साथ कुछ भी करने की ज़रूरत नहीं है: नहीं। आपको किसी एक अनुप्रयोग के लिए वीएम को पुनरारंभ करने की आवश्यकता हो सकती है, जिसके परिणामस्वरूप दोनों के लिए डाउनटाइम होगा।

+4

मैंने सोचा कि एरलांग वीएम नीचे नहीं गया है? – Zubair

+2

एक पुनरारंभ करने का एक कारण एक वीएम विकल्प को संशोधित करना है। आप इसे पुनरारंभ किए बिना नहीं कर सकते हैं। आगे: इस मामले में एक विफलता हो सकती है, इसलिए ऐप नीचे नहीं है, सिर्फ एक नोड। : डी – ZeissS

+2

एक नए एरलांग वीएम संस्करण में अपग्रेड करने के लिए भी पुनरारंभ करने की आवश्यकता है। – Zed

4

इसे "भाग्य साझाकरण" कहा जाता है, जो एक आम डिजाइन निर्णय है। अधिक उप-सिस्टम आम संसाधन साझा करते हैं, उतना ही उनके "भाग्य" एक साथ बंधे होते हैं। खराब होने की विफलता/विफलता की स्थिति में, अधिक "भाग्य साझाकरण" -> व्यवस्थित विफलता की बढ़ती संभावना।

आईएफ आप प्रत्येक को अलग-अलग वीएम में रख सकते हैं तो मैं कहूंगा कि यह इस तरह बेहतर है।

+0

क्या यह इस बात का तात्पर्य नहीं है कि मुझे अपनी सभी सर्वर प्रक्रियाओं को एक अलग वीएम में चलाना चाहिए? :) – Zed

+0

@zed: यह बिल्कुल सही नहीं है (पूंजी पत्र में "IF" को नोटिस करें)। ** ** ** ** एक एसपीओफ़ (असफलता का अकेला) ** कहीं ** ** है - यह किसी दिए गए लागत बिंदु के लिए स्वीकार्य स्तर की उपलब्धता के लिए सिस्टम का प्रबंधन करने के लिए नीचे आता है। लेकिन आप सब जानते थे, मुझे पता है कि आप इस बिंदु पर सिर्फ अपना पैर खींच रहे हैं! चीयर्स। – jldupont

5

जबकि कई decoupling इन उपप्रणालीओं की सिफारिश करेंगे, मैं विपरीत दृष्टिकोण लेगा। Erlang एक release पर कई applications चलाने के लिए रणनीति में बनाया गया है। यदि आपके एप्लिकेशन एक-दूसरे से सीधे बात करते हैं तो यह आपके लिए एक रिलीज में एक साथ बंडल करने के लिए समझ में आ सकता है। यह अनुप्रयोगों के बीच तेजी से कॉल करेगा। कुछ लोग तर्क देंगे कि आपके सभी एप्लिकेशन अब एक ही भाग्य साझा करते हैं, आपको सिस्टम को अपग्रेड के लिए नीचे ले जाने की आवश्यकता है, केवल एप्लिकेशन में से एक की आवश्यकता है। यह एरलांग के साथ एक महत्वपूर्ण बिंदु है जहां आप अपने अनुप्रयोगों को कई नोड्स में वितरित कर रहे हैं। इसके अलावा अधिकांश उन्नयन hot code loading के साथ किया जा सकता है।

-1

अलग-अलग वीएम का उपयोग करके आप बहुत सारे एर्लांग लाभ खो देते हैं।

+0

क्या लाभ खो गए हैं? – GxFlint

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