欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學堂解析Java開發(fā)框架如何迅速使用Pronghorn編寫應用程序

2018-07-04 13:55:32 1211瀏覽

在現(xiàn)如今,大多數(shù)編程語言中Java已成為當今市面上最受歡迎的編程軟件,目前作為Akka和RxJava的替代者,Pronghorn為開發(fā)安全無垃圾的應用程序提供了一種可靈活擴展的開源方法。

actor模型由此而生,隨之誕生了一個很簡單的概念:一切都是actor。這有幾大好處:隔離業(yè)務和其他邏輯容易多了。由于你應用程序的每個核心組件都是隔離且獨立的,因此很容易獲得安全。又由于actor的性質及其相互關系,加快了構建原型的速度。

然而,將它們聯(lián)系在一起的是能夠同時在這些actor之間傳遞消息。actor基于輸入消息做出響應;然后,它可以發(fā)回確認,傳遞內容,并指定下次收到消息時采用的行為。比如說,一個actor從磁盤加載圖像文件,同時將數(shù)據(jù)塊傳送給其他actor作進一步處理,即圖像分析或轉換。隨后另一個actor將這些作為輸入,將它們寫回到磁盤或將它們記錄到終端。這些actor單獨無法完成強大的功能,但是一起構成了應用程序。

Pronghorn是什么?

Pronghorn最近推出了版本1.0,試圖克服面向Java和Scala的兩種流行的actor框架:Akka和RxJava存在的幾個缺點,因此,我們在開發(fā)Pronghorn時注重全面的功能特性:

1、我們想要產生盡可能少的垃圾。不用垃圾收集器經常啟動,它就能達到前所未有的性能水平。

2、我們想要確保Pronghorn占用盡可能少的內存。由于設計當初注重性能,它充分利用CPU預取功能和高速緩存,以獲得最高的吞吐量。它使用零拷貝直接訪問,只需數(shù)毫微秒即可從模式(schema)加載字段,根本不會讓核心停滯,同時又是非阻塞、無鎖的。

3、Pronghorn確保你安全地編寫正確的代碼。借助其API和合約,并使用“軟件堡壘”和行業(yè)領先的加密技術,Pronghorn讓你可以構建安全的、穩(wěn)妥失效的應用程序。

4、調試和測試可能壓力大、很煩人,需要趕時間時更是如此。Pronghorn可以與常用測試框架輕松集成,通過其自動生成、實時更新的遙測圖形,基于現(xiàn)有消息模式的模糊測試(在開發(fā)中)以及某些actor行為異?;蚝挠锰噘Y源時發(fā)出警告,簡化重構和調試。這可幫助你迅速創(chuàng)建原型,將更多的時間用于關注業(yè)務需求上。

為什么是Pronghorn?

編寫并發(fā)高性能的應用程序絕非易事,我們也沒有承諾完全解決這些問題。然而,為了讓你了解Pronghorn的好處以及API的強大功能,我們編寫了一個小型的HTTPREST服務器,對照Node&Express、Tomcat以及SpringBoot等常見行業(yè)標準對它進行了基準測試:



如你所見,Pronghorn在這個REST例子中的表現(xiàn)非常好。Pronghorn幾乎比傳統(tǒng)解決方案快10倍,可以借助無垃圾、靜態(tài)類型的后端,將服務器成本(比如EC2或Azure)至少降低一半。它可以解析HTTP請求,actor并行工作時生成響應。調度和線程由Pronghorn功能強大的默認調度程序來自動處理。

如上所述,Pronghorn讓你可以迅速構建原型,并構思項目,通常遵循這三個基本步驟:

1、定義數(shù)據(jù)流圖

這是至關重要的第一步。Pronghorn采用數(shù)據(jù)優(yōu)先的方法,迅速處理大量數(shù)據(jù)。在你的應用程序中,考慮流經“管道”的數(shù)據(jù)類型――比如說,如果你在構建一個圖像分析工具,需要actor讀取、寫入和分析圖像文件。actor之間的數(shù)據(jù)格式也需要確立;它可能是含有JPGMCU的模式或原始二進制BMP文件。選擇最適合你所開發(fā)的應用程序的格式。

2、定義每個階段之間的合約

合約讓你得以使用FAST輕松定義消息,F(xiàn)AST是金融行業(yè)用于股票交易的一種成熟的協(xié)議。這些合約用于測試階段,以確保實現(xiàn)與消息字段定義一致。這是一種契約方法;它必須得到遵守,那樣actor才能彼此通信。

3、實施數(shù)據(jù)流圖時,使用生成測試,測試最初開發(fā)的組件

模式是你在開發(fā)應用程序時為你生成的代碼。測試驅動開發(fā)便于開發(fā)正確且安全的代碼,為你在準備發(fā)布時節(jié)省寶貴的時間。隨著程序越來越大,數(shù)據(jù)流圖也不斷變大,描述actor之間的每一次交互,并說明各階段之間管道上的消息數(shù)據(jù)流。借助自動遙測,你可以輕松跟蹤最復雜的應用程序,如下所示:



要定義消息,創(chuàng)建類似這個文件的新XML文件:

<?xmlversion="1.0"encoding="UTF-8"?>

<templatesxmlns="http://www.fixprotocol.org/ns/fast/td/1.1">

<templatename="HelloWorldMessage"id="1">

<stringname="GreetingName"id="100"charset="unicode"/>

</template>

</templates>

然后,這個模式被HelloWorld例子中描述的階段所使用。使用該模式將數(shù)據(jù)流圖植入到你的應用程序中來得更容易:

privatestaticvoidpopulateGraph(GraphManagergm){

Pipe<HelloWorldSchema>messagePipe=

HelloWorldSchema.instance.newPipe(10,10_000);

newGreeterStage(gm,"JonSnow",messagePipe);

newGuestStage(gm,messagePipe);

}

以上就是關于Java框架Pronghorn如何幫助你使用Akka和RXJava的替代者Pronghorn的詳細介紹,希望對大家有所幫助用Java編寫高性能、高效、安全的應用程序,扣丁學堂是專業(yè)的Java培訓機構,不僅有專業(yè)的老師和與時俱進的課程體系,還有大量的Java視頻教程供學員觀看學習哦,心動的小伙伴快快行動吧。扣丁學堂Java技術交流群:670348138。

扣丁學堂微信公眾號



【關注微信公眾號獲取更多學習資料】



查看更多關于“Java開發(fā)資訊的相關文章>>

標簽: JavaEE視頻教程 JavaEE培訓 JavaEE開發(fā)工程師 Java培訓 Pronghorn

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部