मैं हाल ही में अक्का देख रहा हूं और यह काफी प्रभावशाली है। ऐसा लगता है कि इसमें एरलांग की अधिकांश हत्यारे विशेषताएं हैं - स्थान पारदर्शिता, पर्यवेक्षण पदानुक्रम, और बहुत कुछ। क्या कोई ऐसी सुविधाएँ हैं जो एर्का नहीं करती हैं?
मैं हाल ही में अक्का देख रहा हूं और यह काफी प्रभावशाली है। ऐसा लगता है कि इसमें एरलांग की अधिकांश हत्यारे विशेषताएं हैं - स्थान पारदर्शिता, पर्यवेक्षण पदानुक्रम, और बहुत कुछ। क्या कोई ऐसी सुविधाएँ हैं जो एर्का नहीं करती हैं?
जवाबों:
डिस्क्लेमर: मैं अक्का के लिए पीओ हूं
वो मेरे सिर के ऊपर से होते हैं।
दूसरी ओर, अक्का का उपयोग करने का अर्थ है कि आप अपने आवेदन लिखने के लिए स्काला, जावा, ग्रूवी या जॉरी का उपयोग कर सकते हैं।
Erlang प्रक्रियाओं में लगभग प्रत्येक 1000 कटौती पर स्विच करने की गारंटी है। स्कैला / अक्का एजेंट के रूप में इस तरह के एक भोले ढांचे में एक अनुसूचक का मालिक होता है जब तक कि यह प्राप्त करने में काम पूरा नहीं करता है। शह और मात। खेल खत्म। हस्ता ला विस्टा :) लोग, छद्म तकनीक पर अपना समय बर्बाद न करें। मैंने चौंकते हुए कहा कि यहाँ लोग स्काला की तुलना एरलंग से करते हैं।
इसके अलावा कई अन्य तथाकथित "हत्यारा विशेषताएं" हैं, लेकिन यहां मेरी सलाह है, सुविधाओं के संदर्भ में मत सोचो, मुहावरों के बारे में सोचें जो विशेष भाषा को सक्षम बनाता है। स्काला "सर्वश्रेष्ठ विशेषताओं" को चुराता है, एरलंग आपको सही मुहावरों के साथ सिस्टम को मज़बूती से बनाने के लिए सक्षम बनाता है, उच्च स्तर की भाषा के साथ जो उन सही मुहावरों से संचालित होता है। जब आप एर्लांग सीखते हैं तो आप अपने दिमाग का पुनर्निर्माण कर रहे हैं, वितरित विश्वसनीय प्रणाली के बारे में सोचने का आपका तरीका, एर्लैंग आपको सिखाता है और आपको अपग्रेड करता है। स्केला सिर्फ एक और अनिवार्य है (ओह, सॉरी, मल्टीपरडीगल, फनी वर्ड) भाषा जो अन्य भाषाओं की अच्छी विशेषताओं को चुराने की कोशिश करती है।
लगभग किसी में भी अलगाव की प्रक्रिया का उल्लेख नहीं है। "आपका धागा मेरे कबाड़ के साथ गड़बड़ नहीं कर सकता" की गारंटी के बिना, वितरित सिस्टम के बारे में तर्क करना अधिक कठिन है। (वे एरलांग की प्रक्रियाओं के साथ पहले से ही काफी कठिन हैं।)
AFAIK (जो कि JVM के साथ मेरे सीमित प्रत्यक्ष अनुभव को देखते हुए) नहीं है, केवल Erlang को वास्तव में JVM पर प्रक्रिया अलगाव "सही" मिलता है। श्री Google "माइक्रो-रिबूट" तकनीक ("रिकवरी-उन्मुख कंप्यूटिंग") का उपयोग करने वाले अनुसंधान प्रणालियों पर फॉक्स और कैंडिआ (?) द्वारा अनुसंधान खोजने के लिए कुछ संकेत दे सकता है। एक एर्लांग डेवलपर उस शोध को पढ़ता है और कुछ बातें कहता है:
मेरे लिए, डाउनटाइम (उदाहरण के लिए make:all([netload]
) के बिना पूरे एरलांग क्लस्टर में हॉट कोड स्वैपिंग , एरलंग किलर सुविधाओं में से एक है।
लेकिन अपने प्रश्न को उलट दें: अक्का के पास ऐसा क्या है जो एरलांग नहीं करता है? बेशक आप Erlang के करीब आने की कोशिश करने के लिए जावा में दर्जनों एक्सटेंशन और लाइब्रेरी (स्काला, एक्का, स्प्रिंग, ओस्गी, ...) जोड़ सकते हैं। पर बात कहाँ है? संक्षेप में, ये सभी विस्तार सरल एरलंग भाषा सीखने की तुलना में बहुत अधिक जटिल हैं जो अब 2 दशकों से अधिक के लिए साबित हुए हैं कि यह शून्य डाउनटाइम के साथ शीर्ष स्केलेबिलिटी की पेशकश करने वाले काम कर सकता है।