JavaOne 2012:向上,向上和向外:使用Akka擴展軟件

在最后的社區主題演講后,我前往希爾頓金門大橋3/4/5觀看了維克多·巴生 ( Viktor Klang )的( Typesafe )“上,下,外:Akka”演講。 巴生(Klang)是Akka的技術主管。 Akka是“ 瑞典北部的美麗山峰 ”,是女神 ,也是基于Scala的“工具箱和運行時,用于在JVM上構建高度并發,分布式且容錯的事件驅動應用程序”。 Akka不僅是Scala專有的,而且可以“從Java今日使用”。 與Scala一起使用Akka確實可以讓您做一些與Java一起使用Akka不能做的事情。

許多大型公司都使用Akka解決實際問題。 Akka旨在向多個方向恐嚇并提供極大的靈活性。 Akka的目標之一是“管理系統過載”。

Akka使用Actors:“ Akka的代碼組織單位”。 根據巴生的說法,“ Actor可幫助您創建并發,可伸縮和容錯的應用程序。” 行為者“保持許多與業務邏輯分離的”政策決策”。 演員起源于1970年代(“就像計算機科學中所有很酷的東西一樣”),而Erlang多年來一直在使用具有“巨大成功”的演員。

巴生警告說,避免“以共享狀態來思考,即泄漏的抽象”。 他補充說,線程和鎖是“一種執行手段”,而不是結構化的手段。 他說,這將執行與業務邏輯混合在一起。 并發收集是針對本地使用的良好優化。

演員是“按設計分配的”,而巴生有一張幻燈片,列出了幾個解釋該聲明的項目符號。 他指出,參與者可以替代“線程”,“對象實例”,“回調或偵聽器”,“單例或服務”,“路由器,負載均衡器或池”,“ Java EE”。會話Bean或消息驅動Bean,“進程外服務”和“有限狀態機”。

巴生引用了卡爾?休伊特關于演員的錄像帶 。 演員是“體現了幾個關鍵特征的基本計算單位”。

巴生在演示中以我喜歡的格式顯示了代碼示例:嵌入到他的幻燈片中并突出顯示了顏色語法。 他顯示了步驟0(“定義”),其中他的代碼定義了Actor的類和Actor的行為。

定義后,第一個操作(I –“創建”)“創建Actor的新實例”。 所創建的Actor非常輕巧,其“狀態和行為彼此無法區分”。 他把最后一點講到了:“觀察狀態的唯一方法是通過向演員發送消息并查看演員的反應。” Actor是狀態,行為和消息隊列的“非常強大的封裝”。

Akka提供了一個ActorSystem來創建Akka Actor實例。 實例Props ,因為演員需要道具提供給演員。

第2步(“發送”)涉及“向演員發送消息”和“一切都以反應方式發生”和“一切都是異步且無鎖的”。 Akka通過演員的tell方法支持“即發即棄”模式。 但是,Akka提供有保證的交貨順序。 回復是在Akka中使用getSender().tell()

第3步(“成為”)“重新定義了演員的行為”,并且“通過接收消息做出反應”。 人們可能想在運行時更改actor行為的原因包括支持將競爭激烈的actor轉換為actor池或實現正常降級。

演員可以監督其他演員,進入步驟4(“ SUPERVISE”)。 “保護者檢測并響應其監督的Actor的故障”,巴生表示這轉化為“干凈的分離,處理和錯誤處理”。

Klang談到了“ Java,C和C#中的故障管理”,在這里您“被賦予了單一的控制線程”。 他以這種方式將其放在子彈中:“如果這根線炸毀,您就被擰死了。” 這意味著所有“顯式錯誤處理”都在“單線程內”完成,并與業務代碼“糾纏”在一起。

巴生表示,處理錯誤處理的方法是將錯誤處理推離業務邏輯。 然后,他引用了洋蔥層錯誤內核 。 巴生談到了為Actor處理失敗提供的回調( preRestartpostRestart )。

路由器是Actor的特例。 巴生使用RoundRobinRouter顯示了一張帶有代碼的RoundRobinRouter 。 他還展示了能夠在配置文件中的代碼之外定義部署方案,并使用路徑從代碼中引用該方案。 他進一步舉例說明了“遠程部署”的代碼,該代碼指定了帶有“ akka”協議,主機名和端口的URL。

到目前為止,巴生提出的所有內容都可以作為Akka 2.0使用。 巴生表示,即將發布的Akka 2.1中將會有Akka集群。 他要求提供反饋,以確保Akka 2.2中的群集可以使用正確的API和正確的功能。 規范 ,用戶指南和代碼本身提供了有關Akka群集的更多信息。

Akka 2.1還具有基于Apache Camel的 Akka Camel 。 Typesafe控制臺也可用于監視Akka應用程序,并且有此應用程序的實時演示 。

參考: JavaOne 2012:向上,向上和向外:來自JCG合作伙伴 Dustin Marx的Akka與Akka一起擴展軟件 ,該文件來自Inspired by Actual Events博客。


翻譯自: https://www.javacodegeeks.com/2012/10/javaone-2012-up-up-and-out-scaling.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371427.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371427.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371427.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

華北科技學院計算機期末考試,華北科技學院 專業計算機 考試專用

1不能應用修剪命令“trim”進行修剪的對象是(D、文字) 。2. 命令行(B.不能隨意移動)3. 布爾運算中差集的熱鍵為(A.SU)4. 定距等分點用( C.DIST)命令5. 標高是以( B.厘米) 為單位6. 在建筑平面圖中用以指明朝向的是( B.指北針)7. A3圖紙的尺寸是( c.420x297)8. 既可以繪制直線&a…

redux-plain-english-workflow

https://quickleft.com/blog/redux-plain-english-workflow/轉載于:https://www.cnblogs.com/skating/p/6495384.html

Spring測試支持和上下文緩存

Spring為單元測試和集成測試提供了全面的支持-通過注釋來加載Spring應用程序上下文,并與JUnit和TestNG等單元測試框架集成。 由于為每個測試加載大型應用程序上下文需要時間,因此Spring智能地為測試套件緩存應用程序上下文–通常,當我們通過a…

perl6正則 4: before / after 代碼斷言: ?{} / !{}

<?before> <? befor XXX> 某字符在 xxx 之前 <?after > <?after XXX> 某字符之后有XXX 對應的取反分別為: <!before > <!before XXX> XXX之前沒有 <!after> <!after xxx> 某字符后面不是 xxx say "foobar" ~~…

mac 下JDK 與 tomcat 的安裝與配置

一.Mac下JDK的安裝 1.先檢測Mac是否已經安裝過JDK&#xff0c;在終端中輸入java 或者 javac 顯示說明&#xff0c;表明已經安裝過JDK&#xff0c;JDK版本查詢終端鍵入java &#xff0d;version&#xff0c;終端會返回JDK的版本號。 2.如果沒有安裝JDK&#xff0c;登陸 http://w…

新型發明創造大賽計算機類,2017年發明杯全國高職高專大學生創新創業大賽

以“發明創新實現夢想、創意創業改變生活”主題活動為依托&#xff0c;把課內與課外教育相結合&#xff0c;學校教育、家庭教育與社會教育相結合&#xff0c;培養廣大在校大學生的科技創新意識和實踐動手能力&#xff0c;激發他們設計創造的樂趣&#xff0c;使廣大大學生大膽創…

如何寫出安全的API接口(參數加密+超時處理+私鑰驗證+Https)- 續(附demo)

轉載&#xff1a;http://www.cnblogs.com/codeon/p/6123863.html 上篇文章說到接口安全的設計思路&#xff0c;如果沒有看到上篇博客&#xff0c;建議看完再來看這個。 通過園友們的討論&#xff0c;以及我自己查了些資料&#xff0c;然后對接口安全做一個相對完善的總結&#…

PrimeFaces在GlassFish 3.1.2.2上推動大氣

PrimeFaces 3.4在三天前問世。 除了通常令人敬畏的新組件和更新組件之外&#xff0c;它還包括新的PrimeFaces Push框架。 基于Atmosphere&#xff0c;這為您的應用程序提供了簡單的推送機制。 這是在最新的GlassFish 3.1.2.2上配置和運行它的方法。 準備工作 像往常一樣&#…

部分視圖跳轉

var album GetDailyDeal(); return PartialView("_DailyDeal", album); 通過NuGet需要添加microsoft.jquery.unobtrusive.ajax 方法一 在BundleConfig.cs 里添加 bundles.Add(new ScriptBundle("~/bundles/jqueryajax").Include("~/Scripts/jquery…

計算機二級目錄設置,word2設置標題格式,生成目錄,奇偶頁設置等等,適用考計算機二級辦公軟件,也適用于畢業論文格式設置...

word2設置標題格式,生成目錄,奇偶頁設置等等,適用考計算機二級辦公軟件,也適用于畢業論文格式設置 這是第2部分word資料 , 跟之前的第一部份word資料合為一份第二題2、在正文前按序插入節&#xff0c;使用“引用”中的目錄功能&#xff0c;生成如下內容&#xff1a;(1) 第1節&a…

JBoss AS 7類加載說明

這是示例章節&#xff0c;摘自Francesco Marchioni編輯的JBoss AS 7 Configuration Deployment and Administration一書&#xff0c;該書正在運行一個名為mastertheboss.com的JBoss門戶。 根據Java EE規范的要求&#xff0c;理想情況下&#xff0c;應用程序服務器應為其部署的應…

打印機 共享 問題

1 用戶提報無法打印&#xff0c;經查被共享打印機無法聯網&#xff0c;先檢查網線是否正常&#xff08;換其他電腦是否能行&#xff09;&#xff0c;再檢查交換機是否正常&#xff0c;經查交換機需要重啟&#xff0c;然后解決問題。 2 被共享機器為32位操作系統&#xff0c;其余…

CoordinatorLayout 中ToolBar遮擋RecyclerView的內容

解決方法:在RecyclerView中添加 app:layout_behavior"string/appbar_scrolling_view_behavior"參考資料:http://stackoverflow.com/questions/32855889/content-behind-coordinatorlayout-appbarlayout 轉載于:https://www.cnblogs.com/niluogege/p/6511094.html

兵團職稱計算機準考證查詢,兵團初級會計準考證打印入口官網

兵團初級會計準考證打印入口官網為財政部會計資格評價中心網(http://kzp.mof.gov.cn)。準考證打印時間在4月16日前公布&#xff0c;考生需要在規定時間登錄財政部會計資格評價中心網(http://kzp.mof.gov.cn)下載并打印準考證。未在上述時限內下載打印準考證的&#xff0c;視作放…

用于集成測試的Maven Cargo插件

在項目生命周期中&#xff0c;非常普遍的需求是設置集成測試。 幸運的是&#xff0c;Maven具有針對此確切方案的內置支持&#xff0c;具有默認構建生命周期的以下階段&#xff08;來自Maven 文檔 &#xff09;&#xff1a; 集成前測試 &#xff1a; 執行集成測試之前所需的操作…

jquery-文檔操作

1.text() 設置或返回元素的text值 <div id"divname">old text</div> $(#divname).text("new text"); 將改變顯示的old為new [1] 參考w3scholl文檔操作 轉載于:https://www.cnblogs.com/hellokittyblog/p/9128397.html

bzoj 4259: 殘缺的字符串

這題好神啊&#xff0c;居然是fft&#xff0c;表示一直在往數據結構上想。 把*當成0&#xff0c;那么兩個串可以匹配當且僅當$$\sum (a[i]-b[i])^2\times a[i]\times b[i]0$$ 我們可以把平方拆開&#xff0c;然后就變成了幾個乘積相加的形式&#xff0c;那就大力翻轉一個串然后…

錄屏時計算機休眠,硬盤錄像機里硬盤提示休眠,什么意思?

休眠&#xff0c;電腦內存中的數據寫入硬盤&#xff0c;關閉電腦。重新啟動的時候重新將數據加載到內存中&#xff0c;恢復休眠前狀態。睡眠&#xff0c;和休眠一個意思&#xff0c;98系統下叫睡眠。xp系統叫休眠。98系統睡眠時&#xff0c;內存數據寫入虛擬內存&#xff0c;xp…

MySQL數據庫的基本操作

-- 連接mysql 數據庫(前提是配置好MySQL數據庫的環境變量&#xff0c;加入path)mysql -uroot -p -- 設置文本的輸入輸出編碼&#xff1a;cmd 使用的是gbk&#xff0c;不然顯示亂碼set names gbk; -- 創建數據庫create database mydatabase charset utf8; -- 創建用戶 user001cr…

使用NoSQL實施實體服務–第5部分:使用云提高自治性

在先前的文章中&#xff0c;我討論了如何通過結合使用Java Web Services &#xff0c; Java EE和CouchDB NoSQL數據庫為產品構建SOA“實體”服務。 在本系列的最后一篇文章中&#xff0c;我將利用我已經創建的一些技術資產&#xff0c;并使用一些流行的SOA模式實現一些新的用戶…