歡迎使用?Akka,Akka?是一套被用來在在多處理器核心和網(wǎng)絡(luò)之間被設(shè)計(jì)可擴(kuò)展和具有相關(guān)彈性的開源工具集。Akka?允許你更加關(guān)注商業(yè)需求而不是書寫低級別的代碼來提供可靠性,容錯(cuò)率和高性能。
創(chuàng)新互聯(lián)是一家專業(yè)提供慶安企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、H5建站、小程序制作等業(yè)務(wù)。10年已為慶安眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
很多常用的設(shè)計(jì)實(shí)踐和已經(jīng)接受的程序模型不能解決一些重要的挑戰(zhàn),這些挑戰(zhàn)通常是現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)中固有的。為了讓項(xiàng)目取得成功,分布式系統(tǒng)必須能夠應(yīng)付一些環(huán)境出現(xiàn)的問題,例如組件崩潰不能響應(yīng),發(fā)送的消息沒有痕跡的就丟失了,為了讓分布式系統(tǒng)能夠成功的運(yùn)行,以及網(wǎng)絡(luò)延遲和波動等問題。這些問題在具有很好管理和監(jiān)控環(huán)境下的數(shù)據(jù)中心經(jīng)常會發(fā)生,針對虛擬架構(gòu)環(huán)境就更加容易出現(xiàn)上面的這些問題了。
為了幫助你處理上面提到這些現(xiàn)實(shí)的問題,Akka?提供了:
不使用低級并發(fā)結(jié)構(gòu)的多線程,例如原子或鎖;讓你免于考慮內(nèi)存可見性的問題。
系統(tǒng)和組件之間的遠(yuǎn)程通訊透明性;?讓你免于屬性和維護(hù)復(fù)雜的網(wǎng)絡(luò)代碼。
一個(gè)高可用性的集群架構(gòu),這個(gè)集群具有相當(dāng)?shù)膹椥?,在線方式;讓你真正能夠部署一個(gè)反應(yīng)系統(tǒng)。
Reactive System. A reactive system is a system that responds (reacts) to external events。
反應(yīng)系統(tǒng)是一個(gè)能對外部事件做出相應(yīng)反應(yīng)的系統(tǒng)。早期所謂的reactive system是軟件系統(tǒng)的一個(gè)分支,意思正如它的名字所描述的。后來這個(gè)概念被美國的David Harel明確下來,其最主要部分是描述反應(yīng)行為。
什么是反應(yīng)行為呢?下面看一個(gè)轉(zhuǎn)換系統(tǒng)的例子 輸入(開始)->軟件系統(tǒng)(經(jīng)過一段時(shí)間后停止運(yùn)行)->(然后)輸出 例子中用戶把數(shù)據(jù)輸入給計(jì)算機(jī),軟件對這些數(shù)據(jù)經(jīng)過一段時(shí)間的計(jì)算,最后給出輸出結(jié)果,我們可以看作一個(gè)會計(jì)的月結(jié)算或者一個(gè)測量的統(tǒng)計(jì)數(shù)據(jù)。
能夠得知,輸入數(shù)據(jù)經(jīng)過特定的規(guī)則被轉(zhuǎn)換,并且在結(jié)束計(jì)算過程以后給出結(jié)果。而reactive system卻與此相反。
與轉(zhuǎn)換系統(tǒng)相反,在reactive system里往往沒有明確的時(shí)序安排??傮w來講,reactive system表示的是不限制運(yùn)行時(shí)間的系統(tǒng),這其中要和外部環(huán)境相互作用,也就是在外部刺激上的反應(yīng)(reactive),例如和不同使用者或者外部的硬件等,但是也包括內(nèi)部發(fā)生的交流行為,因?yàn)閞eactive system是被集成在并行運(yùn)行的分布式系統(tǒng)的規(guī)則中的。
例如,一個(gè)計(jì)算機(jī)的操作系統(tǒng)是這樣一個(gè)reactive system,它不會停止運(yùn)行,而總是反應(yīng)用戶給的輸入,并且計(jì)算機(jī)中的各個(gè)組件之間要進(jìn)行交流。
在電信領(lǐng)域,生產(chǎn)控制或者在硬件環(huán)境的構(gòu)造(嵌入式系統(tǒng))中還存在很多這樣的例子。在信息系統(tǒng)中,也就是基于數(shù)據(jù)庫的應(yīng)用系統(tǒng)中也要用到?reactive system。在給一個(gè)典型的例子就是警報(bào)系統(tǒng)(Early Warning System).
Akka 使用 actor 抽象模型能夠讓 Akka 更加容易的創(chuàng)建正確的并發(fā),并行的分布式系統(tǒng)。actor 模型貫穿整個(gè) Akka 的庫,能夠讓你更加容易的理解和使用它們,并且能夠保證更好的完整性。因此 Akka 提供了一個(gè)深度的整合和集成,如果你無法通過選擇庫來解決個(gè)別問題的時(shí)候,你可以嘗試將這些整合在一起。
通過學(xué)習(xí) Akka 和如何使用 actor 模型,你將訪問到龐大和深入的工具集用來解決分布式并行系統(tǒng)中遇到的困難和挑戰(zhàn),通過統(tǒng)一的編程模型,其中所有的東西都能夠緊密和高效的組合在了一起。
?
https://www.cwiki.us/display/AkkaZH/Introduction+to+Akka