2009-02-05 22 views
12

एरलांग को बड़ी संख्या में संदेशों और अनुरोधों को संभालने में अस्पृश्य होने की प्रतिष्ठा मिल रही है। मेरे पास डाउनलोड करने का समय नहीं है और श्री एरलांग को सिद्धांत बदलने की समझ में आने का प्रयास करें ... इसलिए मुझे आश्चर्य है कि कोई मुझे सिखा सकता है (या एक अच्छी निर्देशक साइट पर इंगित करें।)एरलांग का स्केलेबिलिटी का रहस्य क्या है?

एक के रूप में कहें विचार-प्रयोग मैं एरलंग ejabberd को पायथन और सी के संयोजन में बंद करना चाहता था, जिस तरह से मुझे एक ही गति और स्केलेबिलिटी मिली। मुझे समझने और कार्यान्वित करने के लिए क्या संरचनाएं या पैटर्न होंगे?

उत्तर

13

How/why do functional languages (specifically Erlang) scale well?

http://erlang.org/course/course.html (एक ट्यूटोरियल श्रृंखला के लिए)

जहां तक ​​अन्य भाषाओं के लिए पोर्टिंग के रूप में, एक संदेश गुजर प्रणाली आसान होगा (क्यों की चर्चा के लिए) (क्या पायथन के मुड़ पहले से ही ऐसा करते हैं?) अधिकांश आधुनिक भाषाओं में करना है। कार्यात्मक शैली को पाइथन में आसानी से पर्याप्त किया जा सकता है, हालांकि आपको "मुक्त" के लिए एर्लांग की आंतरिक प्रेषण सुविधाएं नहीं मिलेंगी। स्टैकलेस पायथन एर्लांग की समवर्ती सुविधाओं में से अधिकांश को दोहरा सकता है, हालांकि मैं विवरणों से बात नहीं कर सकता क्योंकि मैंने इसका अधिक उपयोग नहीं किया है। यदि यह अधिक "स्पष्ट" प्रतीत होता है (इसमें उस स्थान पर कोड में समरूपता को परिभाषित करने की आवश्यकता होती है जो एरलांग के डिजाइन आंतरिक रूप से होने वाली सहमति को अनुमति देगा)।

+0

ओह! धन्यवाद! यह एक बड़ी मदद है। मुझे हैरान है कि एसओ के डुप्लिकेट प्रश्न चेकर ने मुझे उस पर नेतृत्व नहीं किया। –

4

Erlang scalability के बारे में है, लेकिन न केवल ज्यादातर के बारे में

  • विश्वसनीयता
  • नरम वास्तविक समय विशेषताओं (नरम वास्तविक समय जीसी रूप से सक्षम है जो संभव है क्योंकि अचल स्थिति [कोई चक्र] और साझा कुछ भी नहीं है और इसलिए)
  • समवर्ती कार्यों में प्रदर्शन (सस्ते कार्य स्विच, सस्ते प्रक्रिया स्पॉन, अभिनेता मॉडल, ...)
  • स्केलेबिलिटी - वर्तमान स्थिति में बहस योग्य, लेकिन तेजी से विकसित (लगभग 32 कोर अच्छी तरह से, यह अधिकतर प्रतियोगियों की तुलना में बेहतर है लेकिन नी में बेहतर होना चाहिए आरआर भविष्य)।
+1

हां लेकिन यह "अच्छी तरह से स्केलेबिलिटी" की परिभाषा है। विश्वसनीयता, प्रदर्शन या वास्तविक समय क्षमता के बिना स्केलेबिलिटी इतनी उपयोगी नहीं है;) – daitangio

2

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

1

मुझे लगता है कि एरलांग के लिए सबसे अच्छा विकल्प नेटवर्क बाध्य अनुप्रयोग है - संचार को नोड्स और दिल की धड़कन की निगरानी जैसी चीजों के बीच आसान बनाता है, पर्यवेक्षक का उपयोग कर ऑटो पुनरारंभ ओटीपी में बनाया जाता है।

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