日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Eclipse MicroProfile:您需要了解的5件事

發(fā)布時(shí)間:2023/12/3 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Eclipse MicroProfile:您需要了解的5件事 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

針對(duì)微服務(wù)架構(gòu)優(yōu)化企業(yè)Java

Eclipse MicroProfile計(jì)劃是在JavaOne 2016上發(fā)起的,JavaOne是服務(wù)器供應(yīng)商和Java用戶組的創(chuàng)意,目的是解決企業(yè)Java微服務(wù)領(lǐng)域的缺點(diǎn)。 Java EE的發(fā)布速度減慢到無(wú)法應(yīng)對(duì)Swift發(fā)展的微服務(wù)趨勢(shì)的挑戰(zhàn)的程度。 MicroProfile通過(guò)將個(gè)人,供應(yīng)商和社區(qū)組織進(jìn)行開(kāi)放式協(xié)作來(lái)解決此問(wèn)題,從而為EE生態(tài)系統(tǒng)提供微服務(wù)。

什么是Eclipse MicroProfile?

MicroProfile指定了Java EE API和技術(shù)的集合,它們共同構(gòu)成了核心基準(zhǔn)微服務(wù),旨在提供跨多個(gè)運(yùn)行時(shí)的應(yīng)用程序可移植性。

MicroProfile 1.0規(guī)范包括30多個(gè)Java Enterprise規(guī)范的子集,它們是:用于RESTful端點(diǎn)的JAX-RS 2.0,用于擴(kuò)展和依賴項(xiàng)注入的CDI 1.1,以及用于處理JSON消息的JSON-P 1.0。 為什么只是這三個(gè)? 這是因?yàn)檫@表示構(gòu)建微服務(wù)所需的API最少。

預(yù)計(jì)2.0版將更加廣泛,并計(jì)劃包含積壓的部分功能,這些功能包括:配置,通過(guò)JSON Web令牌 (JWT)進(jìn)行的安全性,運(yùn)行狀況檢查, JSON綁定 ,監(jiān)視,OpenTracing和容錯(cuò)功能。 另外,它將使所有API與Jav??a EE 8保持一致。

許多受人尊敬的服務(wù)器供應(yīng)商都提供運(yùn)行時(shí)。 支持MicroProfile架構(gòu)的是:IBM的WebSphere Liberty , Tomitribe的TomEE, Payara ,RedHat的WildFly Swarm和KumuluzEE 。

社區(qū)支持來(lái)自倫敦的Java社區(qū)和SOUJava以及許多個(gè)人誰(shuí)給他們的時(shí)間和精力。

Eclipse MicroProfile的動(dòng)機(jī)

Java EE的成熟已導(dǎo)致發(fā)行節(jié)奏減慢,這對(duì)于微服務(wù)社區(qū)來(lái)說(shuō)太慢了。 但是,這并沒(méi)有阻止Java Enterprise技術(shù)用于開(kāi)發(fā)微服務(wù),實(shí)際上,Java EE中的微服務(wù)已經(jīng)做了很多努力。

每個(gè)供應(yīng)商都在就正確的微服務(wù)方式實(shí)施自己的見(jiàn)解,這個(gè)空間變得越來(lái)越分散。 顯然,如果不尋求凝聚力,那么供應(yīng)商分散是不可避免的結(jié)果。 因此,在更好地進(jìn)行微服務(wù)的指導(dǎo)下,廠商和用戶組之間進(jìn)行了協(xié)作。

隨著Java EE的完整配置文件變得如此龐大,最后有30多個(gè)API,在構(gòu)建被稱為“ micro”的東西時(shí),尤其是當(dāng)您不打算使用這些API中的絕大多數(shù)。 必須找到一種更苗條,更好的解決方案。

目標(biāo)

在這些動(dòng)力中,有四個(gè)壓倒一切的目標(biāo),所有參與開(kāi)源項(xiàng)目的人都力求追求。 這些目標(biāo)可以概述如下:

避免在供應(yīng)商和實(shí)現(xiàn)者之間分散,以解決對(duì)微服務(wù)空間采用統(tǒng)一方法的需求。 通過(guò)微服務(wù)的通用策略,這導(dǎo)致服務(wù)器供應(yīng)商之間的微服務(wù)互操作性。

通過(guò)懶惰的共識(shí)快速構(gòu)建,以允許快速開(kāi)發(fā)和迭代。 這導(dǎo)致了高頻發(fā)布節(jié)奏,滿足了社區(qū)快速周轉(zhuǎn)的需求。

通過(guò)Eclipse組織的框架在Java EE空間中創(chuàng)建更多開(kāi)源技術(shù)。 當(dāng)這些技術(shù)轉(zhuǎn)移到JSR格式時(shí),這允許組織充當(dāng)規(guī)范領(lǐng)導(dǎo)者。

最終目標(biāo)是為Java社區(qū)流程 (JCP)提供規(guī)范請(qǐng)求 (JSR),該規(guī)范請(qǐng)求由開(kāi)發(fā)人員和企業(yè)可以依賴并實(shí)際需要的明智方法和實(shí)現(xiàn)來(lái)支持。

MicroProfile嘗試從Java EE技術(shù)的角度理解微服務(wù),而不是與Oracle競(jìng)爭(zhēng),而是在邊緣進(jìn)行創(chuàng)新并向JSR反饋。

1.沙盒開(kāi)放貢獻(xiàn)方法

Eclipse MicroProfile具有一種獨(dú)特的開(kāi)放貢獻(xiàn)方法,該方法允許通過(guò)MicroProfile沙箱存儲(chǔ)庫(kù)立即啟動(dòng)。 您只需派生沙盒存儲(chǔ)庫(kù) ,創(chuàng)建一個(gè)不同的子目錄,編寫(xiě)您的想法,并提交所需的任意數(shù)量的拉取請(qǐng)求,以探究提案背后的概念。

即使尚未活躍在社區(qū)中,任何人都可以通過(guò)這種方式做出貢獻(xiàn)。 這種方法提供了零進(jìn)入門(mén)檻,并允許任何有志于做出貢獻(xiàn)的人捕捉想法。

不斷發(fā)展您的想法是毫不費(fèi)力的。 在社區(qū)論壇上啟動(dòng)一個(gè)新線程以宣布您的想法,并等待幾天(72小時(shí))以收集反饋。 考慮并響應(yīng)反饋,進(jìn)行適當(dāng)更新,并在不適用反饋時(shí)提供理由。 一旦您的想法被接受,就可以通過(guò)懶惰的共識(shí),將您的貢獻(xiàn)遷移到其自己的存儲(chǔ)庫(kù),在該存儲(chǔ)庫(kù)中開(kāi)始進(jìn)行規(guī)范,API和測(cè)試套件的工作。

如果您不想一個(gè)人工作,可以在Google網(wǎng)上論壇中公開(kāi)表達(dá)您的想法,以尋求社區(qū)的支持。 這是所有討論發(fā)生的地方。 您可以找到其他有相同興趣并愿意在您的想法上與您合作的人。

2.挑戰(zhàn)人們對(duì)Java EE的重要性的看法

傳統(tǒng)上對(duì)Java企業(yè)版的看法是,它笨重,笨重且部署緩慢,這在它的早期生命中都是如此,但是由于Eclipse MicroProfile的努力,這種看法正在成功地受到挑戰(zhàn)。

在MicroProfile Eclipse開(kāi)發(fā)人員資源頁(yè)面上,可以找到體系結(jié)構(gòu)會(huì)議應(yīng)用程序鍵代碼示例,您可以使用該示例代碼來(lái)自行測(cè)試MicroProfile Java EE應(yīng)用程序的輕量級(jí)特性。 如果您沒(méi)有時(shí)間,請(qǐng)觀看此精彩的演講 。

關(guān)鍵代碼示例包括四個(gè)微服務(wù)和一個(gè)前端應(yīng)用程序。 在演示中,每個(gè)微服務(wù)都是使用MicroProfile體系結(jié)構(gòu)開(kāi)發(fā)的,并部署在四個(gè)參與的供應(yīng)商的服務(wù)器之一上。

一個(gè)maven插件將應(yīng)用程序編譯為WAR,并將其與服務(wù)器運(yùn)行時(shí)一起打包為JAR。 它使用java -jar命令通過(guò)命令行啟動(dòng)。 查看下表,您會(huì)發(fā)現(xiàn)JAR大小很小,啟動(dòng)時(shí)間也很短。 這些數(shù)字使任何其他Java EE框架都可以賺錢(qián)。

供應(yīng)商 微服務(wù) JAR大小/ Mb 啟動(dòng)時(shí)間/秒
WebSphere自由 會(huì)議投票 35 7
蒼蠅群 屆會(huì) 65歲 6
帕亞拉 會(huì)議時(shí)間表 33 5
湯姆 揚(yáng)聲器 35 3

每個(gè)供應(yīng)商的實(shí)現(xiàn)都利用服務(wù)器體系結(jié)構(gòu)的優(yōu)勢(shì)來(lái)優(yōu)化部署。 例如; IBM的WebSphere Liberty使用“功能”來(lái)選擇所需的Java EE技術(shù)并打包應(yīng)用程序所需的內(nèi)容。 WildFly Swarm使用“分?jǐn)?shù)”來(lái)“調(diào)整大小”服務(wù),以確保部署中僅包括所需的API。

所有供應(yīng)商的共同特點(diǎn)是優(yōu)化了打包部署的方式。 僅包含足夠的代碼即可使其工作,從而可生成最小大小的超級(jí)JAR。

3.高節(jié)奏釋放哲學(xué)

不同版本之間的Java EE發(fā)行周期通常需要數(shù)年,對(duì)于標(biāo)準(zhǔn)驅(qū)動(dòng)的生態(tài)系統(tǒng)來(lái)說(shuō),這是完全正確的。 標(biāo)準(zhǔn)組織不是為了創(chuàng)新而是為了標(biāo)準(zhǔn)化而存在。 一旦將其充實(shí)并證明可以工作,他們就會(huì)收集經(jīng)過(guò)驗(yàn)證的想法。

嘗試在標(biāo)準(zhǔn)組織內(nèi)部進(jìn)行創(chuàng)新會(huì)挫敗陷阱,事實(shí)證明這是災(zāi)難性的。 CMP(容器管理的持久性)是委員會(huì)猜測(cè)人們想要的東西并弄錯(cuò)了它時(shí)發(fā)生的事情的一個(gè)示例。

微服務(wù)的世界瞬息萬(wàn)變,對(duì)于社區(qū)來(lái)說(shuō),多年的發(fā)布周期太長(zhǎng)了。 MicroProfile的目標(biāo)是通過(guò)縮短周期并使其更具迭代性來(lái)對(duì)此進(jìn)行改進(jìn)。 這個(gè)想法是嘗試建議,看看什么有效,什么無(wú)效,然后以“快速迭代,快速失敗”的過(guò)程進(jìn)行。 壞主意很快就會(huì)被淘汰,只留下好主意。 隨著技術(shù)的成熟,可以將它們提交給JCP,以供將來(lái)的JSR考慮。

縮短發(fā)布周期的目的是經(jīng)常交付某些東西,即使這只是一個(gè)主意。 比提出很多想法要晚兩年,這被認(rèn)為是更可取的。

MicroProfile當(dāng)前計(jì)劃的發(fā)行版在Eclipse MicroProfile網(wǎng)站上公開(kāi)宣布。

4.在所有階段都完全透明

事實(shí)證明,導(dǎo)致社區(qū)真正想要的解決方案的指導(dǎo)思想是完全透明。 這是Eclipse MicroProfile采取的方法。 所有討論都是在Google網(wǎng)上論壇進(jìn)行的,所有討論都在這里開(kāi)始并蓬勃發(fā)展,任何人都可以發(fā)表評(píng)論或提出新想法。

每?jī)芍苓M(jìn)行一次Google Hangouts,這是整個(gè)過(guò)程不可或缺的一部分,歡迎所有人參加會(huì)議。 他們會(huì)在社區(qū)論壇上提前宣布, 會(huì)議記錄會(huì)以Google文檔的形式發(fā)布,以供所有人查看。

在Eclipse Project網(wǎng)站上認(rèn)可了貢獻(xiàn)者,在該站點(diǎn)上,誰(shuí)是最大的個(gè)人和組織貢獻(xiàn)者以及哪個(gè)公司成員最活躍,這一點(diǎn)是透明的。

5. CDI中心編程模型

上下文和依賴注入規(guī)范是Java EE生態(tài)系統(tǒng)中功能最強(qiáng)大,功能最豐富的規(guī)范之一,并且經(jīng)常被其他API所利用。

它最強(qiáng)大的兩個(gè)功能是攔截器和觀察器。 攔截器執(zhí)行與業(yè)務(wù)邏輯正交的跨領(lǐng)域任務(wù),例如審計(jì),日志記錄和安全性。 開(kāi)發(fā)人員需要的各種微服務(wù)屬性的基本功能。

內(nèi)置事件通知模型實(shí)現(xiàn)了觀察者模式,以提供功能強(qiáng)大且輕量級(jí)的事件通知系統(tǒng),可以在整個(gè)系統(tǒng)范圍內(nèi)利用該事件通知系統(tǒng)。

在這些功能之上,您可以獲得服務(wù)器和客戶端的預(yù)期分離(依賴注入的本質(zhì))以及整個(gè)CDI規(guī)范,包括定義bean的生命周期,類型安全注入,范圍,生產(chǎn)者方法,限定符和完整服務(wù)提供者的能力。允許第三方集成的接口(SPI)。

顯而易見(jiàn),為什么選擇此API作為基準(zhǔn)Java EE微服務(wù)的核心依賴項(xiàng)。

如何參與?

參與其中再簡(jiǎn)單不過(guò)了。 跳至Google網(wǎng)上論壇 ,選擇一個(gè)可以調(diào)整您的興趣的話題,然后開(kāi)始閱讀和評(píng)論。 喜歡說(shuō)話嗎? 然后參加每?jī)芍芤淮蔚腉oogle Hangouts并表達(dá)自己。 如果您有尚未討論的功能想法,那么為什么不啟動(dòng)線程并獲得一些反饋。 如果您想深入一探,則可以派生microprofile-sandbox存儲(chǔ)庫(kù)并進(jìn)行編碼。 您無(wú)法介入其中。

您要點(diǎn)擊的鏈接

  • Eclipse MicroProfile演示
  • Eclipse MicroProfile文章
  • Eclipse MicroProfile 1.1版本

進(jìn)一步閱讀

我已經(jīng)發(fā)表了更多有關(guān)Java EE的文章。 ? 以下是您可能感興趣的主題的簡(jiǎn)短列表:

  • Java EE:過(guò)去,現(xiàn)在和未來(lái)
  • 上下文和依賴注入 (CDI)
  • 企業(yè)Java Bean (EJB)
  • JSP,JSP和表達(dá)語(yǔ)言
  • RESTful Web服務(wù)
  • Java Persistence API簡(jiǎn)介 (JPA)
  • 什么是JAX-RS批注?
  • @Context注釋用于什么?
  • JAX-RS @Consumes和@Produces批注
  • Bean驗(yàn)證失敗管理

學(xué)到更多

如果您想了解有關(guān)Java EE的更多信息,請(qǐng)嘗試我的Lynda.com視頻培訓(xùn)課程。 它們涵蓋了多種Java EE技術(shù):

  • 使用JAX-RS 2.0的RESTful服務(wù)
  • 使用Java EE進(jìn)行WebSocket編程
  • 使用Java EEJSON處理
  • 學(xué)習(xí)Java企業(yè)版

翻譯自: https://www.javacodegeeks.com/2017/09/eclipse-microprofile-5-things-need-know.html

總結(jié)

以上是生活随笔為你收集整理的Eclipse MicroProfile:您需要了解的5件事的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。