AKKA文件(java版) 位置透明性

2021-09-23 21:39:45 字數 941 閱讀 8697

原文:  譯者:小魚

2.6 位置透明性

前一章節描述了如何使用角色路徑來實現位置透明性。這乙個特性應該需要一些額外的說明,因為與之關聯的術語「transparent remoting」(透明的遠端處理)在程式語言、平台和技術中的用法是不一樣的。

2.6.2 透明方式被打破

對akka適用的,不一定適用於使用它的應用,因為設計分布式執行會帶來一些限制。最明顯的一點就是所有通過電纜傳送的訊息都必須可序列化。雖然有一點不太明顯的就是包括閉包在內的遠端角色工廠,用來在遠端節點建立角色(即props內部)。

另乙個結論是,要意識到所有互動都是完全非同步的,它意味著在乙個計算機網路中一條訊息需要幾分鐘才能到達接收者那裡(基於配置),而且可能比在單jvm中有更高丟失率,後者丟失率接近於0(還沒有確鑿的證據)。

2.6.3 如何遠端使用?

我們持透明性的觀點的限制是幾乎沒有關於akka遠端處理層的api:它純粹是配置驅動的。根據前面章節講述的原則去編寫你的應用,然後在配置檔案中指定角色子樹的遠端部署。你的應用可以用這種方式在不需要改動**的情況下實現橫向擴充套件。唯一的允許通過程式設計影響遠端部署的api是props,props可以指定deploy例項的屬性,這種方式等同於通過配置檔案部署(如果兩種方式都用了,會以配置檔案優先)。

2.6.4 點對點 vs 客戶端-伺服器端

akka遠端處理是乙個在點對點模式下用來連線角色系統的通訊模組,而它是akka集群的基礎。遠端處理是通過兩個設計決策(相關的)作為導向來設計的:

關於連線模式,通訊系統的地位是對等的:沒有乙個系統是只能接受連線,也沒有乙個系統只能發起連線。

通過這些決策我們知道是不可能通過預定義角色(審校者注:原文為role,而不是文件通常出現的actor)(違反假設1)和涉及網路位址轉換或負載平衡器的設定(違反假設2)來安全的建立純粹的client-server設定。

client-server的設定最好使用http或者akka i/o。

Akka文件(java版) 為什麼選擇Akka

1.2 為什麼選擇akka?1.2.1 與同類其它產品相比,akka平台有什麼過人之處呢?akka 提供可伸縮的實時事務處理能力。akka在以下方面提供了一致的執行時和程式設計模型 由於akka的高內聚性和連貫的語義,學習和管理就成了一件事。akka是一款極具可伸縮性的軟體,它的可伸縮性不僅體現在效...

AKKA文件(java版) 什麼是角色

原文 譯者 vitas 2.3 什麼是角色?前面角色系統一節介紹了一群角色如何形成乙個層次結構,並且介紹了角色是構建應用程式的最小單位。本節我們將角色拿出來單獨介紹,解釋一些你在使用它的過程中可能遇到的概念。對於一些更深入的細節,將會在後面的章節中詳細介紹。你可以將角色想象成乙個容器,它其中包括狀態...

AKKA 官方文件2 5 8 入門指南

到目前為止,akka 2.5.8版本 當前最新版本 官方文件的入門指南部分已經翻譯完了,第一節那個akka介紹有點無聊就沒翻,本人自感英語水平過差 其實語文也不咋地 所以看看英文文件提公升下詞彙量,然後就順手翻譯了下。為什麼現代系統需要乙個新的程式設計模型 actor模型如何滿足現代分布式系統的需求...