可擴展的實時事務(wù)處理
我們相信編寫出正確的具有容錯性
和可擴展性
的并發(fā)
程序太困難了贬蛙。這多數(shù)是因為我們使用了錯誤的工具和錯誤的抽象級別锦亦。Akka就是為了改變這種狀況而生的马绝。通過使用Actor模型我們提升了抽象級別择示,為構(gòu)建正確的可擴展并發(fā)應(yīng)用提供了一個更好的平臺束凑。在容錯性方面我們采取了“l(fā)et it crash”(讓它崩潰)
模型,人們已經(jīng)將這種模型用在了電信行業(yè)栅盲,構(gòu)建出“自愈合”的應(yīng)用和永不停機的系統(tǒng)湘今,取得了巨大成功。Actor還為透明的分布式系統(tǒng)
以及真正的可擴展高容錯應(yīng)用的基礎(chǔ)進行了抽象剪菱。
Akka實現(xiàn)了獨特的混合模型
1. Actors
對并發(fā)/并行程序的簡單的摩瞎、高級別的抽象。
異步孝常、非阻塞旗们、高性能的事件驅(qū)動編程模型。
非常輕量的事件驅(qū)動處理(1G內(nèi)存可容納約270萬個actors)构灸。
使用“l(fā)et-it-crash”語義和監(jiān)管者樹形結(jié)構(gòu)來實現(xiàn)容錯上渴。非常適合編寫永不停機、自愈合的高容錯系統(tǒng)喜颁。
監(jiān)管者樹形結(jié)構(gòu)可以跨多個JVM來提供真正的高容錯系統(tǒng)稠氮。
Akka的所有元素都為分布式環(huán)境而設(shè)計:所有actor都僅通過發(fā)送消息進行互操作,所有操作都是異步的半开。
事務(wù)性Actor是actor與STM(Software Transactional Memory)的組合隔披。
它使你能夠使用自動重試和回滾來組合出原子消息流。
Akka是一個運行時與編程模型一致的系統(tǒng)寂拆,為以下目標(biāo)設(shè)計:
1. 垂直擴展(并發(fā))
2. 水平擴展(遠程調(diào)用)
3. 高容錯
Akka的應(yīng)用場景:
- 任何需要
高吞吐率
和低延遲
的系統(tǒng)都是使用Akka的候選奢米。 - Actor使你能夠進行
服務(wù)失敗管理(監(jiān)管者)
,負(fù)載管理(緩和策略纠永、超時和隔離)
鬓长,水平和垂直方向上的可擴展性
(增加cpu核數(shù)和/或增加更多的機器)管理。