Akka Actor模型開(kāi)發(fā)庫(kù)是一款功能強(qiáng)大的編碼程序工具包,擁有簡(jiǎn)單的開(kāi)發(fā)和分布式系統(tǒng),高效能、彈性和分散式、反應(yīng)式流數(shù)據(jù),目的是為了解決分布式編程中一系列的編程問(wèn)題。
基本介紹
Actor模型并非什么新鮮事物,它由Carl Hewitt于上世紀(jì)70年代早期提出,目的是為了解決分布式編程中一系列的編程問(wèn)題。其特點(diǎn)如下:
1、系統(tǒng)中的所有事物都可以扮演一個(gè)Actor;
2、Actor之間完全獨(dú)立;
3、在收到消息時(shí)Actor所采取的所有動(dòng)作都是并行的,在一個(gè)方法中的動(dòng)作沒(méi)有明確的順序;
4、Actor由標(biāo)識(shí)和當(dāng)前行為描述;
5、Actor可能被分成原始(primitive)和非原始(non primitive)類(lèi)別;
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允許你編寫(xiě)系統(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ù)。
反應(yīng)式流數(shù)據(jù)
異步非阻塞流處理與反壓。完全異步和流式HTTP服務(wù)器和客戶(hù)端為構(gòu)建微服務(wù)提供了一個(gè)很好的平臺(tái)。與Alpakka進(jìn)行流式集成。