




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、針國旦聯網前沿技術人才搖管13個最熱開源微服務Java 框架本文列舉了 13大可在JVM上構建可靠輕量級微服務的Java框架經過長期發展,Java最終在服務器領域找到一席之地,不同芯片架構和操作系統對一次 編寫,到處運行的承諾很感興趣。與此同時,JavaScript 一直在挑戰Java的地位,前 者因為高吞吐量和速度快接管了大批網絡流量。Node.js不僅提高了速度和資源效率,還 簡化了客戶端和服務器運行代碼的復雜度。盡管競爭激烈,許多負責微服務架構開發的團隊依舊在繼續使用Java,這可能有多方面原 因,比如Java經過多年測試,Sun倉腱了穩定的虛擬機,Oracle大力培養和支持,用戶 使用
2、習慣等。本文列舉了 Java開發人員正在使用的13大開源項目,這些框架構成各地微服務架構基礎。Spring BootJava 一直在構建Spring應用程序,Spring Boot是Spring的特定版本,通過對配置細節進行處理,Spring Boot可以自動化微服務配置過程,其創建是為了自啟動所有類型Spring項目,而不僅僅是微服務。一旦應用程序完成,Spring Boot會混合在Web月艮務器中,并發出JAR文件,可以想象成原始Docker容器。使用Spring開發微服務遵循與Web應用相同的MVC理念。該框架享有多年Java開 發所構建的深層連接,包括所有主要和次要數據存儲LDAP服務
3、器以及Apache Kafka等 消息傳遞工具集成,眾多維護運行服務器集合的小功能,比如Spring Vault,維護生產服務器所需密碼等。Eclipse MicroProfile 2016年,Java Enterprise社區決定清除Java Enterprise Edition中的部分內容,以便用戶可使用經典部件構建簡單微服務。在去掉大量庫之后,社區保留了處理REST請求、 解析JSON和管理依賴注入等功能,最終版本被稱為Eclipse MicroProfile,其特點是快速且簡單。從那時起,MicroProfile社區就制定了一個協議,每季度發布一次新版本,同時添加新 代碼以保持微服務平
4、穩安全運行。對于使用Java EE的人來說,開發過程和代碼結構將非常熟悉,但無休止的配置麻煩已被去除。Dropwizard2011年,Dropwizard問世并開啟Java Enterprise開發人員的視野,其提供非常簡單的開發模型,用戶可添加業務邏輯,并根據慣例配置其他內容。整個JAR文件非常苗條,并 且可以快速啟動。Dropwizard的最大限制可能是缺乏依賴注入如果想使用依賴注入保持代碼干凈和松散耦合,用戶需要自己添加庫。與Spring不同,沒有Dropwizard方法可以做到這一點。但 是,Dropwizard支持大多數功能,比如日志記錄、健康檢查和提供彈性代碼。WildFly Th
5、orntailRed Hat用戶使用靈活的配置工具構建MicroProfile版本,該框架最初被稱為WildFlySwarm,隨后被重命名為Thorntail。只需在Thorntail上指定需要功能,用戶即可創建Maven構建文件,然后由Maven負責組裝一切。Thorntail通過掃描代碼檢測主要組件,也可使用BOM文件覆蓋。全部運行時,Thorntail將刪除不被使用的Java企業版并創建小型JAR文件,可以使用命令部署。這是另一種遵 循Java企業版傳統方法,而不保留沉重包袱的框架。HelidonHelidon架構剔除了 Java Enterprise Edition,保留基于servl
6、et的輕量級核心。在Helidon中,開發人員可使用Netty并添加代碼進行路由和錯誤處理。它采用兩種基本代碼模型,即SE和MP版本。Node.js程序員會對Helidon SE非常熟悉,因為其具有由句點連接的長鏈函數調用。對于使用JAX-RS的Java程序員而言,Helidon MP看起來會很熟悉,Helidon集成了一些備受好評的工具,用于檢查服務器運行狀況或通過微服務跟蹤數據流。CricketCricket是一個快速API開發框架,雖然小,但包含相對豐富的功能,比如鍵值數據存儲,以節省連接數據庫和調度程序,控制重復的后臺處理。沒有其他依賴項增加復雜性或鎖定, 因此將代碼添加到Cricke
7、t并啟動獨立微服務非常容易。Jersey開發Web月服務的標準之一是用于RESTful Web月服務的Java API (又名JAX-RS ),這是一個已在Jersey框架中實現的通用規范。該方法在很大程度上取決于使用注釋來指定路 徑映射和返回詳細信息。解析參數和打包JSON其他內容,Jersey均可處理。Jersey的主要優點是實現JAX-RS標準,部分開發人員也會將Jersey和Spring Boot結合在一起使用。Play體驗JVM跨語言功能的最佳方式之一是用Play框架,這是與Java或其他JVM語言 鏈接的Scala代碼。該代碼非常現代,具有異步、無狀態模型等,不會使服務器過載,沒
8、有無休止的線程試圖跟蹤用戶及會話數據。Play有一些額外功能可用于充實網站,比如 OpenID、驗證和文件上傳支持。Swagger構建API可能看起來像編寫偵聽端口并提供答案的代碼一樣簡單,但Swagger開發人員 不會同意此說法。他們創建了名為OpenAPI的完整API規范語言,Swagger團隊提供 將此規范轉換為自動化測試和文檔等的代碼。Swagger配置文件對API非常簡單,可用于實現并記錄接口行為,提供工具測試在其下 構建的代碼,此外,提供API治理機制。Swagger是API的生態系統,并且不局限于 Java。如果團隊轉移到Node.js或其他語言,則會有Swagger Codeg
9、en模塊等待將 OpenAPI規范轉換為該語言的實現。Restlet框架之間的較大差異之一是與其他服務和庫之間的連接數。Restlet是可提供最大功能和連 接集合的項目之一。為防微服務對郵件服務器接收POP,IMAP或者SMTP,Restlet集 成了 JavaMail庫;為防構建大量文本索引和元數據,Restlet集成了 Lucene和Solr。Restlet不需要使用JSON,因為代碼可以處理XML、CSV、YAML等多種文件格式,還可獲得用于構建響應模板的多個不同選項。此外,Restlet客戶端允許在Chrome瀏覽器 測試API。Squash因為部件松散耦合且很難跟蹤通過系統所有層的數據流,因此調試微服務一直是個難題。Squash允許在Kubernetes集群運行代碼中設置斷點,在IDE接收所有數據,就好像本地運行代碼一樣。Squash還集成了 Node.js和Python運行時,以防微服務集合沒有使用Java代碼。TelepresenceTelepresence是另一個調試選擇,可為遠程Kubernetes集群微服務創建本地代理,對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數學等比數列試題及答案
- 2025年數字出版與電子信息知識考試測試題及答案
- 拍賣基礎知識試題及答案
- 西方國家的文化政策對政治的影響試題及答案
- 西方網絡政治與公民參與試題及答案
- 今日頭條java校招面試題及答案
- 招聘護士試題及答案
- 南瑞集團java面試題及答案
- 2025年建筑材料與結構力學考試題及答案
- 軟件設計師考試2025年專業技巧試題及答案
- 事故隱患內部報告獎勵制度
- 西方文論經典導讀智慧樹知到期末考試答案章節答案2024年浙江大學
- 《低碳技術與節能減排》課程教學大綱
- 孕前口腔檢查精講課件
- 腹部帶蒂皮瓣醫學課件
- 幼兒園園長(高級)理論考試題庫(含答案)
- 美的職位與職銜管理手冊
- 《交通運輸系統分析》課程教學大綱
- 大學新生社團招新報名表通用版
- 中國足球現狀PPT
- EN60745標準理解
評論
0/150
提交評論