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