अक्का (टूलकिट): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 19: Line 19:
'''अक्का (टूलकिट)''' एक स्रोत-उपलब्ध टूलकिट और रनटाइम है, जो [[जावा प्लेटफार्म]] पर समवर्ती और वितरित अनुप्रयोगों के निर्माण को सरल बनाता है। अक्का समवर्तीता के लिए कई प्रोग्रामिंग मॉडल का समर्थन करता है, लेकिन यह एर्लांग से प्रेरणा लेकर एक्टर-आधारित समवर्ती पर जोर देता है।<ref>{{cite web|author=Akka Team|title=स्काला अभिनेता परिचय|url=https://doc.akka.io/docs/akka/current/actors.html#introduction|accessdate=17 September 2018}}</ref>
'''अक्का (टूलकिट)''' एक स्रोत-उपलब्ध टूलकिट और रनटाइम है, जो [[जावा प्लेटफार्म]] पर समवर्ती और वितरित अनुप्रयोगों के निर्माण को सरल बनाता है। अक्का समवर्तीता के लिए कई प्रोग्रामिंग मॉडल का समर्थन करता है, लेकिन यह एर्लांग से प्रेरणा लेकर एक्टर-आधारित समवर्ती पर जोर देता है।<ref>{{cite web|author=Akka Team|title=स्काला अभिनेता परिचय|url=https://doc.akka.io/docs/akka/current/actors.html#introduction|accessdate=17 September 2018}}</ref>


[[जावा (प्रोग्रामिंग भाषा)]] और [[स्काला (प्रोग्रामिंग भाषा)]] दोनों के लिए भाषा बाइंडिंग उपस्थित हैं। अक्का स्काला में लिखा गया है, और स्काला 2.10 के अनुसार, स्काला मानक पुस्तकालय में एक्टर्स को अक्का के पक्ष में पदावनत किया गया है।<ref>{{cite web|last=Jovanovic|first=Vojin|title=स्काला एक्टर्स माइग्रेशन गाइड|url=http://docs.scala-lang.org/overviews/core/actors-migration-guide.html|accessdate=13 March 2013|archive-date=5 December 2013|archive-url=https://web.archive.org/web/20131205052405/http://docs.scala-lang.org/overviews/core/actors-migration-guide.html|url-status=dead}}</ref>
[[जावा (प्रोग्रामिंग भाषा)|जावा (प्रोग्रामिंग लैंग्वेज)]] और [[स्काला (प्रोग्रामिंग भाषा)|स्काला (प्रोग्रामिंग लैंग्वेज)]] दोनों के लिए लैंग्वेज बाइंडिंग उपस्थित हैं। अक्का स्काला में लिखा गया है, और स्काला 2.10 के अनुसार, स्काला मानक पुस्तकालय में एक्टर्स को अक्का के पक्ष में पदावनत किया गया है।<ref>{{cite web|last=Jovanovic|first=Vojin|title=स्काला एक्टर्स माइग्रेशन गाइड|url=http://docs.scala-lang.org/overviews/core/actors-migration-guide.html|accessdate=13 March 2013|archive-date=5 December 2013|archive-url=https://web.archive.org/web/20131205052405/http://docs.scala-lang.org/overviews/core/actors-migration-guide.html|url-status=dead}}</ref>
==इतिहास==
==इतिहास==
फिलिप हॉलर द्वारा लिखित एक एक्टर कार्यान्वयन, स्काला 2.1.7 के भाग के रूप में जुलाई 2006 में जारी किया गया था।<ref>{{cite web|url=http://www.scala-lang.org/node/156 |title=स्काला संस्करण इतिहास - पुराने संस्करण|publisher=scala-lang.org |date=2009-02-16 |url-status=dead |archiveurl=https://web.archive.org/web/20130104213121/http://www.scala-lang.org/node/156 |archivedate=2013-01-04 }}</ref> 2008 तक स्काला जटिल सर्वर अनुप्रयोगों में उपयोग के लिए अट्रक्टिंग अटेंशन कर रहा था, लेकिन समवर्तीता अभी भी सामान्यतः थ्रेड बनाकर प्राप्त की जाती थी, जो मेमोरी साझा करती थी और ताले का उपयोग करके आवश्यक होने पर सिंक्रनाइज़ होती थी। उस दृष्टिकोण की कठिनाइयों से अवगत और अत्यधिक समवर्ती, घटना-संचालित अनुप्रयोगों को लिखने के लिए एर्लांग प्रोग्रामिंग भाषा के पुस्तकालय समर्थन से प्रेरित होकर, स्वीडिश प्रोग्रामर [[जोनास बोनर]] ने स्काला और जावा में समान क्षमताओं को लाने के लिए अक्का बनाया, बोनर ने 2009 की प्रारंभिक में अक्का पर काम करना प्रारंभ किया,<ref>{{cite web|author=Jonas Bonér |url=https://github.com/akka/akka/commit/0a31ad718883ef0314de6dc8c6c2c9699eadfdae |title=init प्रोजेक्ट सेटअप|publisher=github.com |date=2009-02-16}}</ref> और उसी वर्ष जून में इसके लिए अपना दृष्टिकोण लिखा,<ref name=":0">{{cite web|author=Jonas Bonér |url=https://github.com/akka/akka/tree/v0.5 |title=v0.5 |publisher=github.com |date=2009-07-12}}</ref> पहली सार्वजनिक रिलीज़ अक्का 0.5 थी, जिसकी घोषणा जनवरी 2010 में की गई थी। अक्का अब [[प्ले फ्रेमवर्क]] और स्काला प्रोग्रामिंग भाषा के साथ लाइटबेंड प्लेटफॉर्म का भाग है।
फिलिप हॉलर द्वारा लिखित एक एक्टर कार्यान्वयन, स्काला 2.1.7 के भाग के रूप में जुलाई 2006 में जारी किया गया था।<ref>{{cite web|url=http://www.scala-lang.org/node/156 |title=स्काला संस्करण इतिहास - पुराने संस्करण|publisher=scala-lang.org |date=2009-02-16 |url-status=dead |archiveurl=https://web.archive.org/web/20130104213121/http://www.scala-lang.org/node/156 |archivedate=2013-01-04 }}</ref> 2008 तक स्काला काम्प्लेक्स सर्वर अनुप्रयोगों में उपयोग के लिए अट्रक्टिंग अटेंशन कर रहा था, लेकिन समवर्तीता अभी भी सामान्यतः थ्रेड बनाकर प्राप्त की जाती थी, जो मेमोरी साझा करती थी और ताले का उपयोग करके आवश्यक होने पर सिंक्रनाइज़ होती थी। उस दृष्टिकोण की कठिनाइयों से अवगत और अत्यधिक समवर्ती, घटना-संचालित अनुप्रयोगों को लिखने के लिए एर्लांग प्रोग्रामिंग लैंग्वेज के पुस्तकालय समर्थन से प्रेरित होकर, स्वीडिश प्रोग्रामर [[जोनास बोनर]] ने स्काला और जावा में समान क्षमताओं को लाने के लिए अक्का बनाया, बोनर ने 2009 की प्रारंभिक में अक्का पर काम करना प्रारंभ किया था।<ref>{{cite web|author=Jonas Bonér |url=https://github.com/akka/akka/commit/0a31ad718883ef0314de6dc8c6c2c9699eadfdae |title=init प्रोजेक्ट सेटअप|publisher=github.com |date=2009-02-16}}</ref> और उसी वर्ष जून में इसके लिए अपना दृष्टिकोण लिखा,<ref name=":0">{{cite web|author=Jonas Bonér |url=https://github.com/akka/akka/tree/v0.5 |title=v0.5 |publisher=github.com |date=2009-07-12}}</ref> पहली सार्वजनिक रिलीज़ अक्का 0.5 थी, जिसकी घोषणा जनवरी 2010 में की गई थी। अक्का अब [[प्ले फ्रेमवर्क]] और स्काला प्रोग्रामिंग लैंग्वेज के साथ लाइटबेंड प्लेटफॉर्म का भाग है।


सितंबर 2022 में, लाइटबेंड ने घोषणा की कि अक्का अपने लाइसेंस को [[सॉफ्टवेयर लाइसेंस|मुफ्त सॉफ्टवेयर लाइसेंस]], अपाचे लाइसेंस 2.0 से एक [[मालिकाना सॉफ्टवेयर|प्रोप्रीएटरी सॉफ्टवेयर]] स्रोत-उपलब्ध लाइसेंस में बदल देता है। जिसे [[ व्यवसाय स्रोत लाइसेंस |व्यवसाय स्रोत लाइसेंस]] (बीएसएल) के रूप में जाना जाता है। बीएसएल के अनुसार कोई भी नवीनतम कोड तीन साल के पश्चात अपाचे लाइसेंस के अनुसार उपलब्ध हो जाता है।
सितंबर 2022 में, लाइटबेंड ने घोषणा की कि अक्का अपने लाइसेंस को [[सॉफ्टवेयर लाइसेंस|फ्री सॉफ्टवेयर लाइसेंस]], अपाचे लाइसेंस 2.0 से एक [[मालिकाना सॉफ्टवेयर|प्रोप्रीएटरी सॉफ्टवेयर]] स्रोत-उपलब्ध लाइसेंस में परिवर्तित कर देता है। जिसे [[ व्यवसाय स्रोत लाइसेंस |बिज़नेस स्रोत लाइसेंस]] (बीएसएल) के रूप में जाना जाता है। बीएसएल के अनुसार कोई भी नवीनतम कोड तीन साल के पश्चात अपाचे लाइसेंस के अनुसार उपलब्ध हो जाता है।
==विशिष्ठ विशेषताएं==
==विशिष्ठ विशेषताएं==
अक्का एक्टर्स पर आधारित अनुप्रयोगों को भिन्न करने वाले मुख्य बिंदु हैं:
अक्का एक्टर्स पर आधारित अनुप्रयोगों को भिन्न करने वाले मुख्य बिंदु हैं:
* समवर्ती संदेश-आधारित और अतुल्यकालिक है, सामान्यतः कोई परिवर्तनशील डेटा साझा नहीं किया जाता है, और कोई सिंक्रनाइज़ेशन प्राइमेटिव का उपयोग नहीं किया जाता है, अक्का एक्टर मॉडल लागू करता है।
* समवर्ती संदेश-आधारित और अतुल्यकालिक है, सामान्यतः कोई परिवर्तनशील डेटा साझा नहीं किया जाता है, और कोई सिंक्रनाइज़ेशन प्रिमिटिव का उपयोग नहीं किया जाता है, अक्का एक्टर मॉडल लागू करता है।
* एक्टर्स के इंटरेक्ट करने का विधि एक समान है, चाहे वे एक ही होस्ट पर हों या भिन्न-भिन्न होस्ट पर हों, सीधे संचार कर रहे हों या रूटिंग सुविधाओं के माध्यम से, कुछ थ्रेड्स या कई थ्रेड्स पर होते है, इस तरह के विवरणों को कॉन्फ़िगरेशन तंत्र के माध्यम से तैनाती के समय बदला जा सकता है, जिससे अनुमति मिलती है, एक प्रोग्राम को बिना किसी संशोधन के बढ़ाया जाना चाहिए (अधिक शक्तिशाली सर्वरों का उपयोग करने के लिए) और बाहर किया जाता है (अधिक सर्वरों का उपयोग करने के लिए)
* एक्टर्स के इंटरेक्ट करने का विधि एक समान है, चाहे वे एक ही होस्ट पर हों या भिन्न-भिन्न होस्ट पर हों, सीधे संचार कर रहे हों या रूटिंग सुविधाओं के माध्यम से, कुछ थ्रेड्स या कई थ्रेड्स पर होते है, इस प्रकार के विवरणों को कॉन्फ़िगरेशन तंत्र के माध्यम से तैनाती के समय परिवर्तिता किया जा सकता है, जिससे यह अनुमति मिलती है, कि एक प्रोग्राम को बिना किसी संशोधन के बढ़ाया जा सकता है (अधिक शक्तिशाली सर्वरों का उपयोग करने के लिए) तथा (अधिक सर्वरों का उपयोग करने के लिए) और बाहर किया जाता है।
* कार्यक्रम विफलताओं के संबंध में एक्टर्स को पदानुक्रमित रूप से व्यवस्थित किया जाता है, जिन्हें एक एक्टर के पर्यवेक्षक द्वारा नियंत्रित की जाने वाली घटनाओं के रूप में माना जाता है (इस बात की परवाह किए बिना कि किस एक्टर ने विफलता को ट्रिगर करने वाला संदेश भेजा था)एरलांग के विपरीत, अक्का अभिभावकीय की निरीक्षण को लागू करता है, जिसका अर्थ है, कि प्रत्येक एक्टर को उसके मूल एक्टर द्वारा बनाया और पर्यवेक्षण किया जाता है।
* प्रोग्राम विफलताओं के संबंध में एक्टर्स को पदानुक्रमित रूप से व्यवस्थित किया जाता है, जिन्हें एक एक्टर के पर्यवेक्षक द्वारा नियंत्रित की जाने वाली घटनाओं के रूप में माना जाता है (इस बात की परवाह किए बिना कि किस एक्टर ने विफलता को ट्रिगर करने वाला संदेश भेजा था।) एरलांग के विपरीत, अक्का अभिभावकीय की निरीक्षण को लागू करता है, जिसका अर्थ है, कि प्रत्येक एक्टर को उसके मूल एक्टर द्वारा बनाया और पर्यवेक्षण किया जाता है।


अक्का में एक मॉड्यूलर संरचना है, जिसमें एक कोर मॉड्यूल एक्टर प्रदान करता है। अन्य मॉड्यूल एक्टर्स के नेटवर्क वितरण, [[क्लस्टर (कंप्यूटिंग)|क्लस्टर (अभिकलन)]] समर्थन, कमांड और इवेंट सोर्सिंग, विभिन्न तृतीय-पक्ष सिस्टम (जैसे [[ अपाचे ऊँट |अपाचे ऊँट]], [[ज़ीरोएमक्यू]]) के साथ एकीकरण, और यहां तक ​​कि फ्यूचर्स और एजेंटों जैसे अन्य समवर्ती मॉडल के लिए समर्थन जैसी सुविधाएं जोड़ने के लिए उपलब्ध हैं।
अक्का में एक मॉड्यूलर संरचना है, जिसमें एक कोर मॉड्यूल एक्टर प्रदान करता है। अन्य मॉड्यूल एक्टर्स के नेटवर्क वितरण, [[क्लस्टर (कंप्यूटिंग)|क्लस्टर (अभिकलन)]] समर्थन, कमांड और इवेंट सोर्सिंग, विभिन्न तृतीय-पक्ष सिस्टम (जैसे [[ अपाचे ऊँट |अपाचे ऊँट]], [[ज़ीरोएमक्यू]]) के साथ एकीकरण, और यहां तक ​​कि फ्यूचर्स और एजेंटों जैसे अन्य समवर्ती मॉडल के लिए समर्थन जैसी सुविधाएं जोड़ने के लिए उपलब्ध हैं।
Line 37: Line 37:
==अन्य पुस्तकालयों से संबंध==
==अन्य पुस्तकालयों से संबंध==
अक्का के आसपास एक पारिस्थितिकी तंत्र बनाने के लिए अन्य रूपरेखाएँ और टूलकिट उभरे हैं:
अक्का के आसपास एक पारिस्थितिकी तंत्र बनाने के लिए अन्य रूपरेखाएँ और टूलकिट उभरे हैं:
*स्प्रे टूलकिट<ref>{{cite web|last=Doenitz|first=Mathias|title=स्प्रे टूलकिट|url=http://spray.io/|publisher=spray.io|accessdate=6 June 2013}}</ref> को अक्का का उपयोग करके कार्यान्वित किया गया है, और इसमें एक एचटीटीपी सर्वर के साथ-साथ संबंधित सुविधाएं भी सम्मलित हैं, जैसे कि [[रेस्टफुल]] [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] बनाने के लिए एक [[डोमेन-विशिष्ट]] भाषा होता है (डीएसएल)
*स्प्रे टूलकिट<ref>{{cite web|last=Doenitz|first=Mathias|title=स्प्रे टूलकिट|url=http://spray.io/|publisher=spray.io|accessdate=6 June 2013}}</ref> को अक्का का उपयोग करके कार्यान्वित किया गया है, और इसमें एक एचटीटीपी सर्वर के साथ-साथ संबंधित सुविधाएं भी सम्मलित हैं, जैसे कि [[रेस्टफुल]] [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] बनाने के लिए एक [[डोमेन-विशिष्ट]] लैंग्वेज (डीएसएल) होता है।
*[[वेब एप्लिकेशन]] विकसित करने के लिए प्ले फ्रेमवर्क अक्का के साथ एकीकरण प्रदान करता है।<ref>{{cite web|title=Play framework documentation: Integrating with Akka|url=http://www.playframework.com/documentation/2.0/JavaAkka|publisher=playframework.com|accessdate=6 June 2013}}</ref>
*[[वेब एप्लिकेशन]] विकसित करने के लिए प्ले फ्रेमवर्क अक्का के साथ एकीकरण प्रदान करता है।<ref>{{cite web|title=Play framework documentation: Integrating with Akka|url=http://www.playframework.com/documentation/2.0/JavaAkka|publisher=playframework.com|accessdate=6 June 2013}}</ref>
* संस्करण 1.6 तक, [[ स्पार्क (क्लस्टर कंप्यूटिंग ढांचा) |स्पार्क (क्लस्टर अभिकलन ढांचा)]] ने नोड्स के बीच संचार के लिए अक्का का उपयोग किया था।<ref>{{cite web|title=स्पार्क परियोजना स्रोत|url=https://github.com/apache/spark|publisher=github.com|accessdate=6 June 2013}}</ref>
* संस्करण 1.6 तक, [[ स्पार्क (क्लस्टर कंप्यूटिंग ढांचा) |स्पार्क (क्लस्टर अभिकलन ढांचा)]] ने नोड्स के बीच संचार के लिए अक्का का उपयोग किया था।<ref>{{cite web|title=स्पार्क परियोजना स्रोत|url=https://github.com/apache/spark|publisher=github.com|accessdate=6 June 2013}}</ref>
Line 48: Line 48:
*प्रतिक्रियाशील माइक्रोसर्विसेज के निर्माण के लिए लैगोम ढांचा अक्का के शीर्ष पर लागू किया गया है।<ref>{{Cite web|url=https://www.lagomframework.com/documentation/1.4.x/java/Akka.html|title = Lagom - Integrating with Akka}}</ref>
*प्रतिक्रियाशील माइक्रोसर्विसेज के निर्माण के लिए लैगोम ढांचा अक्का के शीर्ष पर लागू किया गया है।<ref>{{Cite web|url=https://www.lagomframework.com/documentation/1.4.x/java/Akka.html|title = Lagom - Integrating with Akka}}</ref>
[[GitHub]] पर 250 से अधिक सार्वजनिक परियोजनाएँ पंजीकृत हैं, जो अक्का का उपयोग करती हैं।<ref>{{cite web|last=Tasharofi|first=Samira|title=GitHub पर एक अभिनेता प्रोजेक्ट कॉर्पस के रूप में|url=http://actor-applications.cs.illinois.edu/akka.html|publisher=cs.illinois.edu|access-date=2013-06-06|archive-url=https://web.archive.org/web/20121030173302/http://actor-applications.cs.illinois.edu/akka.html|archive-date=2012-10-30|url-status=dead}}</ref>
[[GitHub]] पर 250 से अधिक सार्वजनिक परियोजनाएँ पंजीकृत हैं, जो अक्का का उपयोग करती हैं।<ref>{{cite web|last=Tasharofi|first=Samira|title=GitHub पर एक अभिनेता प्रोजेक्ट कॉर्पस के रूप में|url=http://actor-applications.cs.illinois.edu/akka.html|publisher=cs.illinois.edu|access-date=2013-06-06|archive-url=https://web.archive.org/web/20121030173302/http://actor-applications.cs.illinois.edu/akka.html|archive-date=2012-10-30|url-status=dead}}</ref>
==लाइक के बारे में प्रकाशन==
==अक्का के बारे में प्रकाशन==
अक्का बारे में कई किताबें हैं जैसे:
अक्का बारे में कई किताबें हैं जैसे:
*अक्का एसेंशियल्स<ref>{{cite book|last=Gupta|first=Munish K.|title=आवश्यक चीजों की तरह|year=2012|publisher=Packt Publishing|isbn=978-1849518284|pages=334|url=http://www.packtpub.com/akka-java-applications-essentials/book}}</ref>
*अक्का एसेंशियल्स<ref>{{cite book|last=Gupta|first=Munish K.|title=आवश्यक चीजों की तरह|year=2012|publisher=Packt Publishing|isbn=978-1849518284|pages=334|url=http://www.packtpub.com/akka-java-applications-essentials/book}}</ref>

Revision as of 23:01, 19 July 2023

Akka
Original author(s)Jonas Bonér
Developer(s)Lightbend
Initial releaseJuly 2009 (2009-07)
Stable release
2.6.19 / March 21, 2022; 3 years ago (2022-03-21)[1]
Written inScala
Operating systemCross-platform
PlatformJava Virtual Machine
Licensemultiple
Websiteakka.io

अक्का (टूलकिट) एक स्रोत-उपलब्ध टूलकिट और रनटाइम है, जो जावा प्लेटफार्म पर समवर्ती और वितरित अनुप्रयोगों के निर्माण को सरल बनाता है। अक्का समवर्तीता के लिए कई प्रोग्रामिंग मॉडल का समर्थन करता है, लेकिन यह एर्लांग से प्रेरणा लेकर एक्टर-आधारित समवर्ती पर जोर देता है।[2]

जावा (प्रोग्रामिंग लैंग्वेज) और स्काला (प्रोग्रामिंग लैंग्वेज) दोनों के लिए लैंग्वेज बाइंडिंग उपस्थित हैं। अक्का स्काला में लिखा गया है, और स्काला 2.10 के अनुसार, स्काला मानक पुस्तकालय में एक्टर्स को अक्का के पक्ष में पदावनत किया गया है।[3]

इतिहास

फिलिप हॉलर द्वारा लिखित एक एक्टर कार्यान्वयन, स्काला 2.1.7 के भाग के रूप में जुलाई 2006 में जारी किया गया था।[4] 2008 तक स्काला काम्प्लेक्स सर्वर अनुप्रयोगों में उपयोग के लिए अट्रक्टिंग अटेंशन कर रहा था, लेकिन समवर्तीता अभी भी सामान्यतः थ्रेड बनाकर प्राप्त की जाती थी, जो मेमोरी साझा करती थी और ताले का उपयोग करके आवश्यक होने पर सिंक्रनाइज़ होती थी। उस दृष्टिकोण की कठिनाइयों से अवगत और अत्यधिक समवर्ती, घटना-संचालित अनुप्रयोगों को लिखने के लिए एर्लांग प्रोग्रामिंग लैंग्वेज के पुस्तकालय समर्थन से प्रेरित होकर, स्वीडिश प्रोग्रामर जोनास बोनर ने स्काला और जावा में समान क्षमताओं को लाने के लिए अक्का बनाया, बोनर ने 2009 की प्रारंभिक में अक्का पर काम करना प्रारंभ किया था।[5] और उसी वर्ष जून में इसके लिए अपना दृष्टिकोण लिखा,[6] पहली सार्वजनिक रिलीज़ अक्का 0.5 थी, जिसकी घोषणा जनवरी 2010 में की गई थी। अक्का अब प्ले फ्रेमवर्क और स्काला प्रोग्रामिंग लैंग्वेज के साथ लाइटबेंड प्लेटफॉर्म का भाग है।

सितंबर 2022 में, लाइटबेंड ने घोषणा की कि अक्का अपने लाइसेंस को फ्री सॉफ्टवेयर लाइसेंस, अपाचे लाइसेंस 2.0 से एक प्रोप्रीएटरी सॉफ्टवेयर स्रोत-उपलब्ध लाइसेंस में परिवर्तित कर देता है। जिसे बिज़नेस स्रोत लाइसेंस (बीएसएल) के रूप में जाना जाता है। बीएसएल के अनुसार कोई भी नवीनतम कोड तीन साल के पश्चात अपाचे लाइसेंस के अनुसार उपलब्ध हो जाता है।

विशिष्ठ विशेषताएं

अक्का एक्टर्स पर आधारित अनुप्रयोगों को भिन्न करने वाले मुख्य बिंदु हैं:

  • समवर्ती संदेश-आधारित और अतुल्यकालिक है, सामान्यतः कोई परिवर्तनशील डेटा साझा नहीं किया जाता है, और कोई सिंक्रनाइज़ेशन प्रिमिटिव का उपयोग नहीं किया जाता है, अक्का एक्टर मॉडल लागू करता है।
  • एक्टर्स के इंटरेक्ट करने का विधि एक समान है, चाहे वे एक ही होस्ट पर हों या भिन्न-भिन्न होस्ट पर हों, सीधे संचार कर रहे हों या रूटिंग सुविधाओं के माध्यम से, कुछ थ्रेड्स या कई थ्रेड्स पर होते है, इस प्रकार के विवरणों को कॉन्फ़िगरेशन तंत्र के माध्यम से तैनाती के समय परिवर्तिता किया जा सकता है, जिससे यह अनुमति मिलती है, कि एक प्रोग्राम को बिना किसी संशोधन के बढ़ाया जा सकता है (अधिक शक्तिशाली सर्वरों का उपयोग करने के लिए) तथा (अधिक सर्वरों का उपयोग करने के लिए) और बाहर किया जाता है।
  • प्रोग्राम विफलताओं के संबंध में एक्टर्स को पदानुक्रमित रूप से व्यवस्थित किया जाता है, जिन्हें एक एक्टर के पर्यवेक्षक द्वारा नियंत्रित की जाने वाली घटनाओं के रूप में माना जाता है (इस बात की परवाह किए बिना कि किस एक्टर ने विफलता को ट्रिगर करने वाला संदेश भेजा था।) एरलांग के विपरीत, अक्का अभिभावकीय की निरीक्षण को लागू करता है, जिसका अर्थ है, कि प्रत्येक एक्टर को उसके मूल एक्टर द्वारा बनाया और पर्यवेक्षण किया जाता है।

अक्का में एक मॉड्यूलर संरचना है, जिसमें एक कोर मॉड्यूल एक्टर प्रदान करता है। अन्य मॉड्यूल एक्टर्स के नेटवर्क वितरण, क्लस्टर (अभिकलन) समर्थन, कमांड और इवेंट सोर्सिंग, विभिन्न तृतीय-पक्ष सिस्टम (जैसे अपाचे ऊँट, ज़ीरोएमक्यू) के साथ एकीकरण, और यहां तक ​​कि फ्यूचर्स और एजेंटों जैसे अन्य समवर्ती मॉडल के लिए समर्थन जैसी सुविधाएं जोड़ने के लिए उपलब्ध हैं।

परियोजना संरचना

विक्टर क्लैंग सितंबर 2011 में अक्का परियोजना के लिए तकनीकी प्रमुख बन गए, जब दिसंबर 2012 में विक्टर लाइटबेंड में इंजीनियरिंग के निदेशक बने, तो रोलैंड कुह्न अक्का के लिए तकनीकी प्रमुख बन गए, विकास का मुख्य भाग लाइटबेंड में नियोजित एक कोर टीम द्वारा किया जाता है,[7] जो एक सक्रिय समुदाय द्वारा समर्थित है।[8] वर्तमान जोर क्लस्टर (अभिकलन) समर्थन बढ़ाने पर है।

अन्य पुस्तकालयों से संबंध

अक्का के आसपास एक पारिस्थितिकी तंत्र बनाने के लिए अन्य रूपरेखाएँ और टूलकिट उभरे हैं:

  • स्प्रे टूलकिट[9] को अक्का का उपयोग करके कार्यान्वित किया गया है, और इसमें एक एचटीटीपी सर्वर के साथ-साथ संबंधित सुविधाएं भी सम्मलित हैं, जैसे कि रेस्टफुल अप्लिकेशन प्रोग्रामिंग अंतरफलक बनाने के लिए एक डोमेन-विशिष्ट लैंग्वेज (डीएसएल) होता है।
  • वेब एप्लिकेशन विकसित करने के लिए प्ले फ्रेमवर्क अक्का के साथ एकीकरण प्रदान करता है।[10]
  • संस्करण 1.6 तक, स्पार्क (क्लस्टर अभिकलन ढांचा) ने नोड्स के बीच संचार के लिए अक्का का उपयोग किया था।[11]
  • सोको वेब सर्वर लाइब्रेरी अक्का अनुप्रयोगों के लिए रेस्ट एपीआई के कार्यान्वयन का समर्थन करती है।[12]
  • इवेंट स्रोत[13] लाइब्रेरी अक्का एक्टर्स के लिए इवेंट-संचालित आर्किटेक्चर (डोमेन-संचालित डिज़ाइन भी देखें) समर्थन प्रदान करती है।
  • लोड-परीक्षण वेब सर्वर के लिए गैटलिंग (सॉफ्टवेयर) स्ट्रेस परीक्षण उपकरण अक्का पर बनाया गया है।[14]
  • स्कालाट्रा वेब फ्रेमवर्क अक्का के साथ एकीकरण की प्रस्तुत करता है।[15]
  • वाडिन वेब ऐप डेवलपमेंट फ्रेमवर्क अक्का के साथ एकीकृत हो सकता है।[16]
  • अपाचे फ़्लिंक (वितरित स्ट्रीम और बैच डेटा प्रोसेसिंग के लिए प्लेटफ़ॉर्म) आरपीसी सिस्टम अक्का का उपयोग करके बनाया गया है।[17] लेकिन v1.14 से भिन्न किया गया है।[18]
  • प्रतिक्रियाशील माइक्रोसर्विसेज के निर्माण के लिए लैगोम ढांचा अक्का के शीर्ष पर लागू किया गया है।[19]

GitHub पर 250 से अधिक सार्वजनिक परियोजनाएँ पंजीकृत हैं, जो अक्का का उपयोग करती हैं।[20]

अक्का के बारे में प्रकाशन

अक्का बारे में कई किताबें हैं जैसे:

  • अक्का एसेंशियल्स[21]
  • अक्का कोड उदाहरण
  • अक्का कंकरेंसी[22]
  • जैएक्शन में अक्का[23]
  • प्रभावी अक्का[24]
  • अक्का 2.0 के साथ कंपोजेबल फ्यूचर्स