Akka手冊(cè)譯(一)——位置透明

前一節(jié)中描述了如何使用Actor路徑,使位置透明性涩僻。這個(gè)特點(diǎn)值得額外的解釋缭召,因?yàn)橄嚓P(guān)的術(shù)語“透明遠(yuǎn)程”在上下文中使用編程語言栈顷,平臺(tái)和技術(shù)是完全不同的。

分布式

Akka中所有被設(shè)計(jì)為分布式環(huán)境工作:所有交互的Actor純粹用消息傳遞且都是異步實(shí)現(xiàn)嵌巷。它的成果是所有的功能在單個(gè)JVM上或成百上千的集群機(jī)器上同樣可用萄凤。啟用的關(guān)鍵是從遠(yuǎn)程到本地的優(yōu)化,而還是本地到遠(yuǎn)程的泛化搪哪∶遗看本文詳細(xì)論論第二種方法的注定失敗的原因。

透明傳輸?shù)姆椒ǖ娜毕?/h1>

由于設(shè)計(jì)分布式執(zhí)行帶來了一些限制晓折,哪些適用于Akka需要不適用于應(yīng)用程序使用它惑朦。最明顯的一點(diǎn)是所有消息發(fā)送時(shí)必須序列化。另一不太明顯的一點(diǎn)是在Actor在遠(yuǎn)程節(jié)點(diǎn)上創(chuàng)建時(shí)漓概,如果Actor工廠那樣封閉漾月。

另一方面,所有交互是異步的胃珍,這意味著一個(gè)消息在網(wǎng)絡(luò)中傳遞可能需要幾分鐘后到達(dá)接收人(按配置)梁肿。這表示消息丟失的可能遠(yuǎn)高于在一個(gè)JVM中,那里丟失的可能接近于零(仍無法絕地保證)觅彰。

如何遠(yuǎn)程使用

透明方式限制幾乎沒有Akka沒有API訪問遠(yuǎn)程:通過配置驅(qū)動(dòng)吩蔑。應(yīng)用程序根據(jù)前一節(jié)描述的原則,然后在配置文件中指定遠(yuǎn)程部署的Actor子樹填抬。通過這種方式,應(yīng)用程序可以向外擴(kuò)展,而無需訪問代碼烛芬。在遠(yuǎn)程布署時(shí)僅有的可編程API是Prop字段,可能指定為Deploy實(shí)例痴奏。把布署內(nèi)容在配置文件中發(fā)布會(huì)有同樣的效果(兩者都有取配置文件中的)蛀骇。

點(diǎn)對(duì)點(diǎn)和客戶服務(wù)方式

Akka遠(yuǎn)程的連接Actor系統(tǒng)的通訊方式是點(diǎn)對(duì)點(diǎn),這是Akka集群的基礎(chǔ)读拆。這樣設(shè)計(jì)遠(yuǎn)程驅(qū)動(dòng)有兩點(diǎn)(相關(guān)):

  1. 系統(tǒng)間的通信是對(duì)稱的;如果系統(tǒng)A能連接到系統(tǒng)B鸵闪,那么系統(tǒng)B也能獨(dú)立的連接到系統(tǒng)A檐晕。
  2. 通信系統(tǒng)的規(guī)則是對(duì)稱的連接模式:沒有系統(tǒng)只接收連接,沒有系統(tǒng)只發(fā)送連接蚌讼。

這些是不可能安全地創(chuàng)建純客戶端-服務(wù)器設(shè)置預(yù)定義的規(guī)則(違反假設(shè)2)辟灰。客戶端-服務(wù)器設(shè)置最好是使用HTTP或Akka I / O

重要:使用設(shè)置網(wǎng)絡(luò)地址轉(zhuǎn)換篡石、負(fù)載均衡和Dock容器違反假設(shè)1芥喇,除非采取額外的步驟允許所涉及對(duì)稱通信系統(tǒng)通信。在這種情況下可以配置Akka綁定到一個(gè)不同的網(wǎng)絡(luò)地址用于Akka節(jié)點(diǎn)之間建立連接凰萨。

標(biāo)記點(diǎn)擴(kuò)大用于路由

除了能夠一個(gè)Actor系統(tǒng)的不同部分在不同節(jié)點(diǎn)上的集群運(yùn)行继控,還可以擴(kuò)大到更多的內(nèi)核繁殖Actor子樹支持并行化(例如搜索引擎并行處理不同的查詢)械馆。克隆可以用不同的方式被路由到武通,例如循環(huán)霹崎。唯一需要實(shí)現(xiàn)目標(biāo)是,開發(fā)人員需要聲明一個(gè)特定的演員“withRouter”,接著路由Actor將會(huì)創(chuàng)建冶忱,它會(huì)產(chǎn)生一定數(shù)量可配置的相要的子級(jí)尾菇,并通過配置方式路由到它們。當(dāng)一個(gè)路由被申明后囚枪,它能自由的被覆蓋派诬,包括被遠(yuǎn)程發(fā)布的(子)級(jí)混合。

上一篇
下一篇

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末链沼,一起剝皮案震驚了整個(gè)濱河市默赂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌忆植,老刑警劉巖放可,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異朝刊,居然都是意外死亡耀里,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門拾氓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冯挎,“玉大人,你說我怎么就攤上這事咙鞍》抗伲” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵续滋,是天一觀的道長(zhǎng)翰守。 經(jīng)常有香客問我,道長(zhǎng)疲酌,這世上最難降的妖魔是什么蜡峰? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮朗恳,結(jié)果婚禮上湿颅,老公的妹妹穿的比我還像新娘。我一直安慰自己粥诫,他們只是感情好油航,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怀浆,像睡著了一般谊囚。 火紅的嫁衣襯著肌膚如雪怕享。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天秒啦,我揣著相機(jī)與錄音熬粗,去河邊找鬼。 笑死余境,一個(gè)胖子當(dāng)著我的面吹牛驻呐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芳来,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼含末,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了即舌?” 一聲冷哼從身側(cè)響起佣盒,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎顽聂,沒想到半個(gè)月后肥惭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡紊搪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蜜葱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耀石。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牵囤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出滞伟,到底是詐尸還是另有隱情揭鳞,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布梆奈,位于F島的核電站野崇,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏亩钟。R本人自食惡果不足惜舞骆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望径荔。 院中可真熱鬧,春花似錦脆霎、人聲如沸总处。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鹦马。三九已至胧谈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間荸频,已是汗流浹背菱肖。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留旭从,地道東北人稳强。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像和悦,于是被迫代替她去往敵國和親退疫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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

  • 本章描述了Actor如何被識(shí)別和定位在于一個(gè)分布式Actor系統(tǒng)馍忽。這與固有的主管層次一樣是Actor系統(tǒng)的核心內(nèi)容...
    兒哥欠三百首閱讀 1,805評(píng)論 0 0
  • Akka幫助您構(gòu)建可靠的應(yīng)用程序在一臺(tái)機(jī)器上使用多個(gè)處理器核心(“擴(kuò)大”)或分布在計(jì)算機(jī)網(wǎng)絡(luò)(“擴(kuò)張”)棒坏。關(guān)鍵的抽...
    兒哥欠三百首閱讀 2,704評(píng)論 0 0
  • 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,334評(píng)論 2 6
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)坐梯,斷路器徽诲,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • "Actor"是一個(gè)封裝了狀態(tài)和行為的對(duì)象。它們之間的通信是通過各自專屬的“郵箱”實(shí)現(xiàn)信息的交換吵血』烟妫可以說“Acto...
    兒哥欠三百首閱讀 962評(píng)論 0 2