AKKA(JAVA)學(xué)習筆記一(對actor模型/系統(tǒng)/路徑認識)

一 什么是Actor模型复亏?

這里直接引用官網(wǎng)的圖片:

Paste_Image.png

這里面描述了一個Actor包含了:

  • Mailbox(郵箱):用于存儲需要actor處理的信息或者數(shù)據(jù)。
  • Behavior(行為):描述怎么處理郵箱中的信息芍躏。
  • State(狀態(tài)):actor運行時的狀態(tài)
  • SupervisorStrategy(管理子actor的策略):用于描述如何管理子actor的策略泌豆,大多用于容錯。
  • Children(子actor集合):當前actor所監(jiān)管的子actor西篓。

圖中還有一個ActorRef:

  • ActorRef(actor或者actor樹的一個引用):為了使actor和外界隔離或者減輕耦合度,使用一個ActorRef把數(shù)據(jù)或者信息傳遞到actor的郵箱中憋活,使actor對外透明岂津。

總結(jié):

  • 每個actor都有獨立的郵箱,這使得多個actor之間信息或者數(shù)據(jù)相互獨立悦即,這對更利于并行執(zhí)行或者計算吮成。

  • 每個actor之間通信都是通過actorRef完成并把信息放到對應(yīng)actor的郵箱中,郵箱是一個容器辜梳,對于外部來說把信息放入郵箱中是快速的粱甫,至于什么時間處理這個詳細對調(diào)用者來說是透明的。所以說明:
    1. actor本身對其他actor是相互獨立的他們的入口不是actor是actorRef作瞄。
    2. actor完成任務(wù)是異步的茶宵。

  • 每個actor都有自己獨立的狀態(tài)和行為方式。

  • 每個actor都可以成為子actor的管理者或者被父actor管理宗挥。

  • 如果一個功能中有多個actor存在協(xié)作完成任務(wù)乌庶,那他們的結(jié)構(gòu)是一個棵樹形結(jié)構(gòu)。

綜上所述契耿,actor就是一個獨立或者原子瞒大,對外透明,高效并行的處理或者計算任務(wù)的模型宵喂。那和JAVA里面的Thread模型有什么關(guān)系呢?這個話題我會在筆記二中進行說明糠赦,現(xiàn)在只能說actor最終還是跑在線程上的,只是他能更好的利用線程。

二 Actor系統(tǒng)是什么拙泽?

這里還是引用官網(wǎng)的圖片:

圖1.png

上圖中每個圓都表示一個actor淌山,他們組成了一棵樹,分別被父節(jié)點管理著顾瞻,那藍色的actor和灰色的有什么不同呢泼疑?繼續(xù)上圖。

圖2.png

分別說下上圖中的元素,其中不在上圖中出現(xiàn)的Actor屬于同user和system一樣是內(nèi)置Actor不需要手動創(chuàng)建或者配置的:

  • "/" 根據(jù)圖中英文的意思應(yīng)該說是守護者什么的(英語是語文老師教的沒辦法)荷荤。那最上面的表示一個特殊的Actor(Root守護者)退渗,他是一個默認并且必須并且特殊的Actor,他是最頂級的管理者,他的管理范圍有:
  • /user:是所有用戶創(chuàng)建的Actor的守護Actor; 使用 ActorSystem.actorOf創(chuàng)建的 Actors都屬于他的子Actor蕴纳。
  • /system:是所有系統(tǒng)創(chuàng)建的Actor的守護Actor会油,例如在actor系統(tǒng)開始時通過配置自動部署的日志監(jiān)聽器或actor。
  • /deadLetters:處理請求掛掉的actor的Actor古毛,所有請求已經(jīng)停止或者不存在的Actor時會將請求重定向到他的郵箱中(盡力而為翻翩,即使在本地JVM內(nèi)也可能丟失消息)。
  • /temp:是所有創(chuàng)建出來卻聲明周期很短的Actor的守護者稻薇,例如用于執(zhí)行ActorRef.ask嫂冻,他會生成一個臨時的Actor和對應(yīng)的ActorRef然后發(fā)送信息給其他Actor并返回一個Future只要這個Future處理完成這個臨時的Actor就會關(guān)閉并回收資源。
  • /remote:這個Actor管理著所有的遠程Actor塞椎。
  • 藍色部分表示是需要開發(fā)者來創(chuàng)建或者配置創(chuàng)建的桨仿。

三 actor在actor系統(tǒng)中路徑的表現(xiàn)方式

繼續(xù)上圖:

Actor關(guān)系路徑圖.png

這里忽略路徑中的tcp信息,因為和后面一張圖容易混淆案狠,這里就直接理解成在同一個服務(wù)器同一個應(yīng)用中的actor系統(tǒng)關(guān)系服傍。從上圖可以看出最右邊的actor都是通過對于的actor上下文來管理關(guān)系的(重點:上下文中關(guān)系的引用全是對于actor的ActorRef,而不是actor本身骂铁,這也是為了隔離或者獨立actor)伴嗡。在actor對于的ActorRef中可以獲得ActorPath對象,從這個對象的值來看从铲,路徑的表示方法和actor之間的層次結(jié)構(gòu)是一樣的(提示:在actor系統(tǒng)中可以直接根據(jù)路徑來查找ActorRef的,也就找到了對于的Actor)。
遠程Actor表示方式:

Paste_Image.png

上圖是一個由本地和遠程actor組成的actor系統(tǒng)澄暮,這里分為A B兩個服務(wù)器名段,在服務(wù)器A上面創(chuàng)建了一個actor系統(tǒng)并有一個遠程的actor引用也就RemoteActorRef指向真正的child,在B服務(wù)器上也有一個actor系統(tǒng)里面包含一個對A服務(wù)器上parent Actor的一個引用泣懊。這時在服務(wù)器A上獲得child的ActorPath的值是一個邏輯路徑也就是上圖紅色字體表示的路徑伸辟,但是他的物理路徑卻是綠色字體表示的路徑。
從以上可以看出馍刮,不管是單服務(wù)器actor系統(tǒng)還是集群actor系統(tǒng)對于使用者來說是透明的信夫,從而使開發(fā)者專注高效。

此筆記只是個人學(xué)習觀點,筆記粗糙混亂静稻,希望得到更多的指點警没。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市振湾,隨后出現(xiàn)的幾起案子杀迹,更是在濱河造成了極大的恐慌,老刑警劉巖押搪,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件树酪,死亡現(xiàn)場離奇詭異,居然都是意外死亡大州,警方通過查閱死者的電腦和手機续语,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厦画,“玉大人疮茄,你說我怎么就攤上這事】涟祝” “怎么了娃豹?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長购裙。 經(jīng)常有香客問我懂版,道長,這世上最難降的妖魔是什么躏率? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任躯畴,我火速辦了婚禮,結(jié)果婚禮上薇芝,老公的妹妹穿的比我還像新娘蓬抄。我一直安慰自己,他們只是感情好夯到,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布嚷缭。 她就那樣靜靜地躺著,像睡著了一般耍贾。 火紅的嫁衣襯著肌膚如雪阅爽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天荐开,我揣著相機與錄音付翁,去河邊找鬼。 笑死晃听,一個胖子當著我的面吹牛百侧,可吹牛的內(nèi)容都是我干的砰识。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼佣渴,長吁一口氣:“原來是場噩夢啊……” “哼辫狼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起观话,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤予借,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后频蛔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灵迫,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年晦溪,在試婚紗的時候發(fā)現(xiàn)自己被綠了瀑粥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡三圆,死狀恐怖狞换,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情舟肉,我是刑警寧澤修噪,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站路媚,受9級特大地震影響黄琼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜整慎,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一脏款、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧裤园,春花似錦撤师、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至淤袜,卻和暖如春万俗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饮怯。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嚎研,地道東北人蓖墅。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓库倘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親论矾。 傳聞我的和親對象是個殘疾皇子教翩,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容