中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中有哪些微服務框架

發布時間:2021-07-01 17:46:32 來源:億速云 閱讀:179 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關Java中有哪些微服務框架,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、Spring Boot

Java構建Spring應用程序已經有很長一段時間了,Spring Boot是Spring的一個特定版本,它通過對配置細節的處理,使微服務構建更加簡便。創建Spring Boot旨在自啟動任何類型的Spring項目,而不僅僅是微服務。應用程序完成后,Spring Boot將在web服務器中混合,并輸出一個JAR文件,JVM除外。你可以將其視為原始Docker容器。這也是許多負責構建微服務的開發者都非常喜歡Spring Boot的原因。

使用 Spring 開發微服務遵循與 Web 應用相同的 MVC 理念。該框架享有多年Java開發中建立的所有深度連接,包括所有主要和次要數據存儲、LDAP服務器和Apache Kafka等消息傳遞工具的集成。還有許多用于維護運行服務器集合的小特性,比如Spring Vault,這是一種用于維護生產環境中服務器所需的密碼的工具。所有這些優點都說明了為什么Java程序員多年來一直喜歡Spring Boot的原因。

2、Eclipse MicroProfile

2016年,Java Enterprise社區決定清理Java Enterprise Edition中的內容,以便人們可以使用經典部件構建簡單的微服務。他們去除了大量的庫,但保留了處理REST請求,解析JSON和管理依賴注入的功能代碼,最終被稱為Eclipse MicroProfile,其特性為快速而簡單。

從那以后,MicroProfile社區制定了一個協議,每季度發布一個新版本,同時添加新代碼以保持微服務平穩安全地運行。任何Java EE開發者都會非常熟悉開發過程和代碼結構,而且還吧配置麻煩給省去了。

3、Dropwizard

當Dropwizard在2011年出現時,Dropwizard框架為開發者提供了一個非常簡單的模型,里面包含了許多重要的模塊,你可以根據需求添加一些業務邏輯,或者配置其他內容,***你會發現JAR文件非常小,并且能夠快速啟動。

Dropwizard***的限制可能是缺乏依賴注入。如果你希望使用依賴項注入來保持代碼的整潔和松散耦合,則需要自己添加庫,這點和Spring不同,但是現在Dropwizard也支持大多數功能,包括日志記錄、健康檢查和提供彈性代碼。

4、WildFly Thorntail

Red Hat的工作人員使用一個靈活的配置工具構建了他們自己的MicroProfile版本。該框架最初被稱為WildFly Swarm,但后來被重新命名為WildFly Thorntail,Thorntail通過指定所需的特性來幫助您創建自己的Maven構建文件,然后Maven負責組裝所有東西。

Thorntail還將通過掃描代碼來檢測組件,也可以使用BOM(材料清單)文件覆蓋。當它全部運行時,Thorntail將刪除Java Enterprise Edition中不使用的部分,并創建一個很小的JAR文件,可以使用一個命令進行部署——這是一個非常巧妙的特性,允許Thorntail項目將其稱為Uber-JAR。這是遵循Java Enterprise Edition的另一種傳統方法,它不會保留所有沉重的負擔。

5、Helidon

Helidon去除了Java Enterprise Edition,保留輕量級的、基于servlet的核心,并吸引了大量的粉絲。在Helidon的,開發人員從Netty,并添加代碼進行路由和錯誤處理。它采用了代碼的兩個基本模型,即所謂的SE和MP版本。

Node 開發者可能更熟悉Helidon SE,因為其具有由句點連接的函數調用。使用JAX-RS的Java程序員則更熟悉Helidon MP。此外,Helidon還集成了一些備受好評的工具,這些都是它能夠吸引大量開發者的原因。

6、Cricket

另外一個用于快速API開發框架的是Cricket。Cricket很小,盡管它包括許多額外的功能,如鍵值數據存儲,以避免連接數據庫和調度程序來控制后臺重復處理。沒有添加復雜性或其他依賴項,因此很容易將代碼添加到Cricket并啟動獨立的微服務。

7、Jersey

開發web服務的標準方法之一是RESTful web服務的Java API(又名JAX-RS),這是Jersey框架中實現的通用規范。這種方法主要依賴于使用注釋來指定路徑映射和返回細節。從參數解析到JSON打包的所有其他內容都由Jersey處理。

Jersey的主要優點是它實現了JAX-RS標準,這個特性非常受歡迎,一些開發人員習慣將Jersey與Spring Boot結合在一起使用。

8、Play

體驗JVM跨語言能力的***方式之一是使用Play框架,這是可以與Java或任何其他JVM語言兼容的。它的基礎非常現代,具有異步、無狀態的模型,不會讓試圖跟蹤用戶及其會話數據的線程使服務器過載。還有許多額外的特性可以用來充實網站,比如OpenID、驗證和文件上傳支持。

Play代碼庫已經發展了十多年,因此你還會發現類似于對XML的支持的這種古老的功能。play既成熟又輕盈,這種組合還是比較有特色的。

9、Swagger

構建一個API看起來就像編寫一個監聽端口的代碼一樣簡單,但是Swagger的開發人員不這么認為。他們已經創建了一個完整的API規范語言OpenAPI,你可以使用它來說明你的API。這似乎是一個額外的步驟,但是Swagger團隊還提供了將該規范轉換為自動化測試、文檔等的代碼。

Swagger配置文件中的API很簡單,用于實現接口、記錄接口的,并提供一組工具來測試構建在其下的代碼,甚至還有一種API治理機制。

Swagger是一個api生態系統,它不局限于Java。如果你的團隊遷移到Node.js或其他幾十種語言中的任何一種,都有一個Swagger Codegen模塊將OpenAPI規范轉換成該語言的實現。

10、Restlet

不同框架之間***的區別之一是和其他服務或庫的連接數量。Restlet項目提供了更大的特性和連接集合,它已經與JavaMail之類的庫集成,避免微服務需要對某些郵件服務器使用POP、IMAP或SMTP;為防構建大量文本索引和元數據,還集成了 Lucene 和 Solr。

Restlet中還有很多特性在持續開發。例如,你不需要使用JSON,因為它可以直接處理XML、CSV、YAML和其他一些文件格式,此外,它還允許用戶從Chrome瀏覽器測試api。

11、Squash

微服務調試一直是開發人員的一大挑戰,因為這些部件都是松散耦合的,并且很難跟蹤通過系統所有層的數據流。通過使用Squash,可以在運行在Kubernetes集群上的代碼中設置斷點,然后像本地運行代碼一樣接收IDE中的所有數據。Squash還集成了 Node.js 和 Python 運行時

12、Telepresence

調試的另一個選項是使用Telepresence,它可以為遠程Kubernetes集群上的微服務創建本地代理。在本地版本中,可以在其中設置斷點或執行本地計算機上可進行的任何操作。

13、Zipkin

Zipkin用于記錄各種微服務上的事件,允許開發者收集 Twitter 各個服務上的監控數據,并提供查詢接口。Zipkin 有 Java 等至少六種語言實現版本,因此可處理多語言系統。不少框架已經通過某種形式集成 Zipkin,比如 Spring。

關于Java中有哪些微服務框架就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

额尔古纳市| 左云县| 西安市| 东宁县| 铁岭市| 广平县| 昆山市| 霍山县| 临汾市| 邹平县| 莎车县| 西藏| 荔波县| 原阳县| 新营市| 革吉县| 静乐县| 奈曼旗| 龙岩市| 龙泉市| 铜鼓县| 靖江市| 芦溪县| 龙游县| 崇礼县| 浪卡子县| 郧西县| 红原县| 万安县| 五原县| 息烽县| 垦利县| SHOW| 英山县| 古田县| 陇南市| 唐河县| 华坪县| 托克托县| 全州县| 故城县|