AKKA文件(java版)——什麼是AKKA?
阿新 • • 發佈:2018-12-23
可擴充套件的實時事務處理
我們相信編寫併發、容錯、可擴充套件的應用相當的困難。蓋因大多數時候我們一直在使用錯誤的工具和錯誤的抽象等級。AKKA就是為了改變這一切的。我們利用角色模型提升了抽象等級,並且提供了一個用來構建可擴充套件的、彈性的以及響應式應用的更好的平臺——更多資訊請見Reactive Manifesto。對於容錯機制我們採用“讓它崩潰”模型,這一模型已在電信行業取得了巨大的成功,旨在構建自我修復與永不停機的系統。角色還提供了透明的分散式抽象以及真正的可擴充套件且容錯應用的基礎。
AKKA是開源的,並遵守Apache2許可。
請注意所有程式碼樣例的編譯,因此如果你想直接訪問這些原始碼,可以去github上訪問AKKA文件子專案: Java和Scala。
AKKA實現了一個獨特的混合
角色
角色給你提供了:
- 併發與並行性的高等級抽象
- 非同步、無鎖以及高效能的事件驅動程式設計模型
- 非常輕量級的事件驅動流程(1GB堆記憶體可容納幾百萬的角色)
容錯
- 擁有“讓它崩潰”語義的管理層級
- 管理層級可跨越多個JVM,實現真正的容錯系統
- 非常適合編寫可自我修復且永不停機的高容錯能力的系統
位置透明
AKKA的一切旨在分散式環境中工作:角色之間都使用純訊息互動,而且一切都是非同步的。
持久化
啟動或重啟角色時,可以選擇持久化或重放它接收到的訊息。在JVM崩潰或角色遷移到另一節點時,這一點可以使角色恢復它的狀態。
Scala和Java API
AKKA有兩種使用方式
- 作為一個庫:將它放到WEB-INF/lib下面供一個web應用使用,或把它當作一個常規的JAR放到你的類路徑裡。
- 微核心方式:將你的應用放到獨立的核心裡。
商業支援
AKKA由Typesafe Inc.按照包含開發與生產支援的商業許可證開發,更多內容請讀這裡。