akka快速入門(讀書筆記)

參考https://developer.lightbend.com/guides/akka-quickstart-java

? ?(只把最重要的部分記錄下來)

?akka是什么?

? ?akka 是一個基于JVM的用于構(gòu)建高并發(fā),分布式,具有容錯性的事件驅(qū)動應用的工具和runtime。

? ?Actors是akka的基本運行單元。

下載例子

? 1 從?Lightbend Tech Hub?下載zip包

?2 解壓

運行

? ?mvn compile exec:exec

上述例子如何工作的

main函數(shù)先創(chuàng)建了akka.actor.ActorSystem,它是Actors運行的容器。然后它創(chuàng)建了三個?Greeter Actor實例和一個Printer Actor實例。

例子中,發(fā)送消息給Greeter Actor實例,它在內(nèi)部存儲消息,最終解析消息,傳送給 Printer Actor,?Printer Actor會打印出來結(jié)果。

Actor Model的優(yōu)點

事件驅(qū)動模式--Actors的工作是響應消息。Actors之間的交流都是異步的,允許Actors發(fā)送消息,繼續(xù)他們自己的工作,不會阻塞。

強獨立原則----不像java中的對象,一個Actor沒有公共的API你可以調(diào)用的。作為替代品,公共的API是通過Actor處理的消息傳遞的。這樣避免了Actors之間狀態(tài)共享,唯一的辦法查看其他Actor的方法就是發(fā)送消息給他。

位置透明原則-----系統(tǒng)是通過工廠類的方法創(chuàng)建Actors的,并且返回了Actors的引用。位置不重要,Actor可以開始,停止,移動,重啟,批量啟動和關(guān)閉,從錯誤中恢復。

輕量級----每個實例幾百比特,一個應用可以有幾百萬個實例。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 引言 這篇文章主要是第一次學習Akka編程,先試試水,探探坑,對Akka和SBT的使用有一個直觀的了解,以幾個簡單...
    JasonDing閱讀 4,006評論 0 19
  • Actor系統(tǒng)的實體 在Actor系統(tǒng)中,actor之間具有樹形的監(jiān)管結(jié)構(gòu),并且actor可以跨多個網(wǎng)絡節(jié)點進行透...
    JasonDing閱讀 3,532評論 2 6
  • Actor的創(chuàng)建&引用&聲明周期 1.創(chuàng)建actor 定義一個Actor類 要定義自己的Actor類,需要繼承Ac...
    這個該叫什么呢閱讀 1,154評論 0 1
  • 關(guān)于scala的Actor和經(jīng)常配合使用的Future Actor Creating Actor & best p...
    WoodsWalker閱讀 5,652評論 6 5
  • Integrating with Akka Akka 使用Actor模型來提升抽象等級并且提供一個更好的平臺去構(gòu)建...
    zerolinke閱讀 3,599評論 0 3

友情鏈接更多精彩內(nèi)容