2010-05-25 16 views
53

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

मुझे निम्नलिखित स्कैला अभिनेता कार्यान्वयन (एसएआई) के बारे में पता है। कृपया गायब लोगों को जोड़ें।

  • स्काला 2.7 (अंतर करने के लिए)
  • स्काला 2.8
  • अक्का (http://www.akkasource.org/)
  • लिफ्ट (http://liftweb.net/)
  • Scalaz (http://code.google.com/p/scalaz/)


  • क्या हैं इन एसएआई के लिए लक्षित उपयोग-मामलों (हल्के वजन बनाम "भारी" उद्यम ढांचा)?

  • क्या वे रिमोट अभिनेताओं का समर्थन करते हैं? एसएआई में रिमोट एक्टर्स की क्या कमीएं हैं?
  • उनका प्रदर्शन कैसा है?
  • समुदाय कितना सक्रिय है?
  • वे कितना आसान शुरू करना चाहते हैं? दस्तावेज कितना अच्छा है?
  • वे कितना आसान विस्तारित कर रहे हैं?
  • वे कितने स्थिर हैं? कौन सी परियोजनाएं उनका उपयोग कर रही हैं?
  • उनकी कमियों क्या हैं?
  • उनके डिजाइन सिद्धांत क्या हैं?
    • क्या वे थ्रेड आधारित या ईवेंट आधारित (प्राप्त/प्रतिक्रिया) या दोनों हैं?
    • नेस्टेड प्राप्त करता
    • hotswapping एक्टर्स संदेश पाश
+0

कुछ उपयोगी http://stackoverflow.com/questions/3357332/which-actor-model-library-framework-for-java/7693638#7693638 – satyagraha

उत्तर

6

जहां तक ​​मुझे पता है, केवल स्काला और अक्का समर्थन दूरस्थ अभिनेताओं।

अक्का को स्केलेबेलोल्यूशंस द्वारा समर्थित किया गया है, जो अल्पकालिक समर्थन और अक्का के लिए प्लग इन प्रदान करता है। अक्का एक हेवीवेट समाधान की तरह दिखता है, जो मौजूदा ढांचे (ऊंट, एएमक्यूपी, जेटीए, धूमकेतु, वसंत, रेडिस) और इसके अतिरिक्त एसटीएम और दृढ़ता के साथ एकीकरण को लक्षित करता है।

स्कैला की तुलना में अक्का नेस्टेड रिसीव का समर्थन नहीं करता है, लेकिन अभिनेता संदेश लूप को हॉटस्पैप करने का समर्थन करता है और दोनों, थ्रेड आधारित और ईवेंट आधारित अभिनेताओं और तथाकथित "ईवेंट-आधारित सिंगल-थ्रेडेड" वाले हैं।

8

स्कैला 2.7.7। बनाम 2.8 The Scala 2.8.0 RC3 distribution:

नए रिएक्टर वैकल्पिक, निहित प्रेषक पहचान के साथ अधिक हल्के, पूरी तरह से घटना-आधारित अभिनेता प्रदान करते हैं। डेमन-शैली अर्थशास्त्र के साथ कलाकारों के लिए समर्थन जोड़ा गया था। अभिनेताओं को कुशल JSR166y कांटा/पूल में शामिल होने के लिए कॉन्फ़िगर किया जा सकता है, जिसके परिणामस्वरूप 1.6 जेवीएम पर महत्वपूर्ण प्रदर्शन सुधार हुआ है। शेड्यूलर अब प्लग करने योग्य और अनुकूलित करने में आसान हैं।

वहाँ भी Haller की एक डिजाइन दस्तावेज़ है: Scala Actors: Unifying Thread-based and Event-based Programming

3

मैंने महसूस किया कि अक्का संपूर्ण मैचों लागू करता है। तो तकनीकी रूप से प्राप्त होने पर भी आंशिक कार्य की अपेक्षा होती है, तो फ़ंक्शन आंशिक नहीं होना चाहिए। इसका मतलब है कि आपको तुरंत हर संदेश को संभालना होगा।

18

यह सबसे व्यापक तुलना मैं अब तक देखा है:

के माध्यम से

http://doc.akka.io/docs/misc/Comparison_between_4_actor_frameworks.pdfhttp://klangism.tumblr.com/post/2497057136/all-actors-in-scala-compared

+0

@ फ्रैंक पर उत्तर: आपका लिंक अब उपलब्ध नहीं है। –

+0

मुझे आश्चर्य है कि तुलना कितनी तारीख है कि तुलना जून 2012 तक है। –

9

Scala 2.10 के रूप में, स्केला अभिनेताओं अब पदावनत है और अक्का अभिनेता अब मानक वितरण का हिस्सा है

+2

http://docs.scala-lang.org/overviews/core/actors-migration-guide.html –