您好,登錄后才能下訂單哦!
歡迎使用?Akka,Akka?是一套被用來在在多處理器核心和網絡之間被設計可擴展和具有相關彈性的開源工具集。Akka?允許你更加關注商業需求而不是書寫低級別的代碼來提供可靠性,容錯率和高性能。
很多常用的設計實踐和已經接受的程序模型不能解決一些重要的挑戰,這些挑戰通常是現代計算機體系結構中固有的。為了讓項目取得成功,分布式系統必須能夠應付一些環境出現的問題,例如組件崩潰不能響應,發送的消息沒有痕跡的就丟失了,為了讓分布式系統能夠成功的運行,以及網絡延遲和波動等問題。這些問題在具有很好管理和監控環境下的數據中心經常會發生,針對虛擬架構環境就更加容易出現上面的這些問題了。
為了幫助你處理上面提到這些現實的問題,Akka?提供了:
不使用低級并發結構的多線程,例如原子或鎖;讓你免于考慮內存可見性的問題。
系統和組件之間的遠程通訊透明性;?讓你免于屬性和維護復雜的網絡代碼。
一個高可用性的集群架構,這個集群具有相當的彈性,在線方式;讓你真正能夠部署一個反應系統。
Reactive System. A reactive system is a system that responds (reacts) to external events。
反應系統是一個能對外部事件做出相應反應的系統。早期所謂的reactive system是軟件系統的一個分支,意思正如它的名字所描述的。后來這個概念被美國的David Harel明確下來,其最主要部分是描述反應行為。
什么是反應行為呢?下面看一個轉換系統的例子 輸入(開始)->軟件系統(經過一段時間后停止運行)->(然后)輸出 例子中用戶把數據輸入給計算機,軟件對這些數據經過一段時間的計算,最后給出輸出結果,我們可以看作一個會計的月結算或者一個測量的統計數據。
能夠得知,輸入數據經過特定的規則被轉換,并且在結束計算過程以后給出結果。而reactive system卻與此相反。
與轉換系統相反,在reactive system里往往沒有明確的時序安排。總體來講,reactive system表示的是不限制運行時間的系統,這其中要和外部環境相互作用,也就是在外部刺激上的反應(reactive),例如和不同使用者或者外部的硬件等,但是也包括內部發生的交流行為,因為reactive system是被集成在并行運行的分布式系統的規則中的。
例如,一個計算機的操作系統是這樣一個reactive system,它不會停止運行,而總是反應用戶給的輸入,并且計算機中的各個組件之間要進行交流。
在電信領域,生產控制或者在硬件環境的構造(嵌入式系統)中還存在很多這樣的例子。在信息系統中,也就是基于數據庫的應用系統中也要用到?reactive system。在給一個典型的例子就是警報系統(Early Warning System).
Akka 使用 actor 抽象模型能夠讓 Akka 更加容易的創建正確的并發,并行的分布式系統。actor 模型貫穿整個 Akka 的庫,能夠讓你更加容易的理解和使用它們,并且能夠保證更好的完整性。因此 Akka 提供了一個深度的整合和集成,如果你無法通過選擇庫來解決個別問題的時候,你可以嘗試將這些整合在一起。
通過學習 Akka 和如何使用 actor 模型,你將訪問到龐大和深入的工具集用來解決分布式并行系統中遇到的困難和挑戰,通過統一的編程模型,其中所有的東西都能夠緊密和高效的組合在了一起。
?
https://www.cwiki.us/display/AkkaZH/Introduction+to+Akka
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。