Akka是一個(gè)為Java和Scala構(gòu)建高并發(fā)、分布式和彈性消息驅(qū)動(dòng)應(yīng)用程序的工具包,用于簡(jiǎn)化編寫(xiě)容錯(cuò)的、高可伸縮性的 Java 和 Scala 的 Actor 模型應(yīng)用,Actor模型并非什么新鮮事物,它由Carl Hewitt于上世紀(jì)70年代早期提出,目的是為了解決分布式編程中一系列的編程問(wè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)類別;
6、非原始Actor有:
由一個(gè)郵件地址表示的標(biāo);
當(dāng)前行為由一組知識(shí)(acquaintances)(實(shí)例變量或本地狀態(tài))和定義Actor在收到消息時(shí)將采取的動(dòng)作組成;
7、消息傳遞是非阻塞和異步的,其機(jī)制是郵件隊(duì)列(mail-queue);
8、所有消息發(fā)送都是并行的。