Akka文件(java版)-為什麼選擇Akka
阿新 • • 發佈:2018-12-23
1.2 為什麼選擇Akka?
1.2.1 與同類其它產品相比,Akka平臺有什麼過人之處呢?
Akka 提供可伸縮的實時事務處理能力。
Akka在以下方面提供了一致的執行時和程式設計模型:
- 縱向擴充套件性(併發)
- 橫向擴充套件性(遠端呼叫)
- 容錯性
由於Akka的高內聚性和連貫的語義,學習和管理就成了一件事。
Akka是一款極具可伸縮性的軟體,它的可伸縮性不僅體現在效能方面,在控制應用程式的大小方面也很實用。Akka的核心—akka-actor, 非常小並且很容易植入已有專案中。當你的專案需要非同步或沒有衝突的無鎖併發時就可以考慮將akka-actor植入你的程式。
你還可以對akka核進行瘦身,使其只包含你的程式用到的部分,我們稱這個瘦身後的包為Akka微核心。然後基於它來部署你的Akka應用。隨著cpu核心數的持續攀升,為了得到系統性能方面的提升akka也成了一個不錯的選擇。因為Akka即使在單機環境下也能提供傑出的效能。Akka還提供了一系列的併發正規化,使用者可以根據自己的需求特點選擇最優的方案。
1.2.2 Akka適用於那些場景?
Akka被很多大型組織在不同的領域所採用,如:
· 投資和商業銀行業務
· 零售業
· 社交媒體
· 模擬
· 遊戲和賭博
· 汽車和交通系統
· 醫療衛生
· 資料分析
等等。任何系統只要是需要高吞吐量或低延遲率的都可以考慮使用Akka。
通過角色(Actor)來管理服務故障(Supervisor),負載管理(回退策略,超時以及程序隔離),以及水平和垂直的伸縮性管理(增加cpu核或增加機器數量)。
下面的連結是Akka的使用者對他們是怎樣使用Akka的一些評論:
所有這些都是基於ApacheV2的開源專案。