日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何使用Java框架Pronghorn迅速編寫應(yīng)用程序

作為Akka和RxJava的替代者,Pronghorn為開發(fā)安全無垃圾的應(yīng)用程序提供了一種可靈活擴(kuò)展的開源方法。

成都創(chuàng)新互聯(lián)公司不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對(duì)營(yíng)銷、技術(shù)、服務(wù)都有自己獨(dú)特見解,公司采取“創(chuàng)意+綜合+營(yíng)銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的網(wǎng)站建設(shè)、網(wǎng)站制作質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時(shí),也能得到同行業(yè)的專業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級(jí),滿足企業(yè)一站式營(yíng)銷型網(wǎng)站需求,讓再小的成都品牌網(wǎng)站建設(shè)也能產(chǎn)生價(jià)值!

1973年,Carl Hewitt受到了量子力學(xué)的啟發(fā)。他想開發(fā)能夠并行執(zhí)行任務(wù)的計(jì)算機(jī),這些計(jì)算機(jī)在含有各自本地內(nèi)存和處理器的同時(shí)可彼此順利地通信。

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

然而,將它們聯(lián)系在一起的是能夠同時(shí)在這些actor之間傳遞消息。actor基于輸入消息做出響應(yīng);然后,它可以發(fā)回確認(rèn),傳遞內(nèi)容,并指定下次收到消息時(shí)采用的行為。比如說,一個(gè)actor從磁盤加載圖像文件,同時(shí)將數(shù)據(jù)塊傳送給其他actor作進(jìn)一步處理,即圖像分析或轉(zhuǎn)換。隨后另一個(gè)actor將這些作為輸入,將它們寫回到磁盤或?qū)⑺鼈冇涗浀浇K端。這些actor單獨(dú)無法完成強(qiáng)大的功能,但是一起構(gòu)成了應(yīng)用程序。

Pronghorn是什么?

今天有許多系統(tǒng)實(shí)現(xiàn)了這種actor模型。在Object Computing,我們一直在開發(fā)一種高度可擴(kuò)展、高性能、完全開源的Java框架:Pronghorn(https://oci-pronghorn.gitbook.io/pronghorn/chapter-0-what-is-pronghorn/home),它以世界上跑得最快的陸地動(dòng)物之一:叉角羚命名。

Pronghorn最近推出了版本1.0,試圖克服面向Java和Scala的兩種流行的actor框架:Akka和RxJava存在的幾個(gè)缺點(diǎn)。

因此,我們?cè)陂_發(fā)Pronghorn時(shí)注重全面的功能特性:

1. 我們想要產(chǎn)生盡可能少的垃圾。不用垃圾收集器經(jīng)常啟動(dòng),它就能達(dá)到前所未有的性能水平。

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

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

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

想了解更多詳細(xì)信息,請(qǐng)?jiān)L問Pronghorn功能列表(https://oci-pronghorn.gitbook.io/pronghorn/chapter-0-what-is-pronghorn/features)。

為什么是Pronghorn?

編寫并發(fā)高性能的應(yīng)用程序絕非易事,我們也沒有承諾完全解決這些問題。然而,為了讓你了解Pronghorn的好處以及API的強(qiáng)大功能,我們編寫了一個(gè)小型的HTTP REST服務(wù)器,對(duì)照Node & Express、Tomcat 以及Spring Boot等常見行業(yè)標(biāo)準(zhǔn)對(duì)它進(jìn)行了基準(zhǔn)測(cè)試:

我們鼓勵(lì)你自己運(yùn)行這些數(shù)字(https://github.com/oci-pronghorn/GreenLoader),分享結(jié)果,并添加自己的Web服務(wù)器。

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

如上所述,Pronghorn讓你可以迅速構(gòu)建原型,并構(gòu)思項(xiàng)目,通常遵循這三個(gè)基本步驟:

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

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

2. 定義每個(gè)階段之間的合約

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

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

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

它是什么樣子?

你可能很想知道Pronghorn代碼是什么樣子。下面是我們的“Hello World”( https://oci-pronghorn.gitbook.io/pronghorn/chapter-1-getting-started-with-pronghorn/1.-hello-world-introduction/0.-getting-started)例子中生成消息模式的一段示例代碼。

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

 
 
 
 
  1.  
  2.  
  3.      
  4.          
  5.      

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

 
 
 
 
  1. private static void populateGraph(GraphManager gm) { 
  2.        Pipe messagePipe =  
  3. HelloWorldSchema.instance.newPipe(10, 10_000); 
  4.        new GreeterStage(gm, "Jon Snow", messagePipe); 
  5.        new GuestStage(gm, messagePipe); 
  6.   }

這使用了Hello World教程(https://oci-pronghorn.gitbook.io/pronghorn/chapter-1-getting-started-with-pronghorn/1.-hello-world-introduction/0.-getting-started)中創(chuàng)建的階段。

我們使用一個(gè)Maven(https://maven.apache.org/)原型為你提供了開始構(gòu)建Pronghorn應(yīng)用程序所需要的一切。

開始使用Pronghorn

本文已大致介紹了Pronghorn如何幫助你使用Akka和RXJava的替代者:Pronghorn,用Java編寫高性能、高效、安全的應(yīng)用程序。我們想聽聽你如何讓這個(gè)成為開發(fā)人員、經(jīng)理、首席財(cái)務(wù)官及其他人士的一個(gè)理想平臺(tái)。


網(wǎng)站名稱:如何使用Java框架Pronghorn迅速編寫應(yīng)用程序
本文路徑:http://m.5511xx.com/article/copcoes.html