Akka 編程

背景介紹:學(xué)會(huì) akka 編程,自己編寫一個(gè)分布式的 RPC 通信框架,為學(xué)習(xí) spark 的源碼做準(zhǔn)備。

一、Akka 簡(jiǎn)介

Akka 基于 Actor 模型,提供了一個(gè)用于構(gòu)建可擴(kuò)展的(Scalable)、彈性的(Resilient)、快速響應(yīng)的(Responsive)應(yīng)用程序的平臺(tái)。

Actor 模型:在計(jì)算機(jī)科學(xué)領(lǐng)域,Actor 模型是一個(gè)并行計(jì)算(Concurrent Computation)模型,它把 actor 作為并行計(jì)算的基本元素來對(duì)待:為響應(yīng)一個(gè)接收到的消息,一個(gè)actor能夠自己做出一些決策,如創(chuàng)建更多的actor,或發(fā)送更多的消息,或者確定如何去響應(yīng)接收到的下一個(gè)消息。

二、重要的類介紹

ActorSystem

在 Akka 中,ActorSystem 是一個(gè)重量級(jí)的結(jié)構(gòu),他需要分配多個(gè)線程,所以在實(shí)際應(yīng)用中,ActorSystem 通常是一個(gè)單例對(duì)象,我們可以使用這個(gè) ActorSystem 創(chuàng)建很多 Actor。

Actor

在 Akka 中,Actor 負(fù)責(zé)通信,在 Actor 中有一些重要的生命周期方法。

  1. preStart() 方法:該方法在 Actor 對(duì)象構(gòu)造方法執(zhí)行后執(zhí)行,整個(gè) Actor 生命周期中僅執(zhí)行一次。
  2. receive() 方法:該方法在 Actor 的 preStart 方法執(zhí)行完成后執(zhí)行,用于接收消息,會(huì)被反復(fù)執(zhí)行。

三、編程實(shí)戰(zhàn),分布式通信框架

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

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

  • Actor系統(tǒng)的實(shí)體 在Actor系統(tǒng)中,actor之間具有樹形的監(jiān)管結(jié)構(gòu),并且actor可以跨多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行透...
    JasonDing閱讀 3,522評(píng)論 2 6
  • 這段時(shí)間由于忙畢業(yè)前前后后的事情,拖更了很久,表示非常抱歉,回歸后的第一篇文章主要是看到了Akka最新文檔中寫的W...
    三分青年閱讀 3,044評(píng)論 0 5
  • 引言 這篇文章主要是第一次學(xué)習(xí)Akka編程,先試試水,探探坑,對(duì)Akka和SBT的使用有一個(gè)直觀的了解,以幾個(gè)簡(jiǎn)單...
    JasonDing閱讀 4,000評(píng)論 0 19
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評(píng)論 19 139
  • 陽光要8分鐘后才到達(dá),雨水要半個(gè)小時(shí)后才落到地面,等待這種事本來就是天經(jīng)地義的 年輕人呀,你活得未免太潦草了;小伙...
    有讀閱讀 1,175評(píng)論 0 0

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