Akka Actor模型開發(fā)庫(kù)主要是用來(lái)提供各種編程模型的構(gòu)建以及程序開發(fā)用的,它為Java和Scala構(gòu)建高并發(fā)、分布式和彈性消息驅(qū)動(dòng)應(yīng)用程序的工具包,更輕松地構(gòu)建強(qiáng)大的反應(yīng)式、并發(fā)式和分布式應(yīng)用。
軟件介紹
Actor模型并非什么新鮮事物,它由Carl Hewitt于上世紀(jì)70年代早期提出,目的是為了解決分布式編程中一系列的編程問題。其特點(diǎn)如下:
1、系統(tǒng)中的所有事物都可以扮演一個(gè)Actor;
2、Actor之間完全獨(dú)立;
3、在收到消息時(shí)Actor所采取的所有動(dòng)作都是并行的,在一個(gè)方法中的動(dòng)作沒有明確的順序;
4、Actor由標(biāo)識(shí)和當(dāng)前行為描述;
5、Actor可能被分成原始(primitive)和非原始(non primitive)類別;
6、非原始Actor有:
由一個(gè)郵件地址表示的標(biāo);
當(dāng)前行為由一組知識(shí)(acquaintances)(實(shí)例變量或本地狀態(tài))和定義Actor在收到消息時(shí)將采取的動(dòng)作組成;
7、消息傳遞是非阻塞和異步的,其機(jī)制是郵件隊(duì)列(mail-queue);
8、所有消息發(fā)送都是并行的。
軟件特色
簡(jiǎn)單的并發(fā)和分布式系統(tǒng)
Actors和Streams讓你構(gòu)建的系統(tǒng)可以擴(kuò)展,更有效地使用服務(wù)器的資源,出,使用多個(gè)服務(wù)器。
彈性設(shè)計(jì)
基于 "反應(yīng)式宣言 "的原則,Akka允許你編寫系統(tǒng),使其在面對(duì)失敗時(shí)能夠自我修復(fù)并保持響應(yīng)。
高效能
在單機(jī)上最高可達(dá)到 5000 萬(wàn) msg/秒。小內(nèi)存占用;每GB堆約250萬(wàn)個(gè)角色。
彈性和分散式
無(wú)單點(diǎn)故障的分布式系統(tǒng)?绻(jié)點(diǎn)的負(fù)載均衡和自適應(yīng)路由。使用集群共享的事件源和CQRS。使用CRDTs實(shí)現(xiàn)最終一致性的分布式數(shù)據(jù)。