您好,登錄后才能下訂單哦!
這幾年來,微服務這個概念越來越火了,火到什么程度呢?2019年有一個統計說,兩千家企業里,45%在使用微服務,16%在實驗開發和測試微服務架構,24%在學習微服務準備轉型,只有剩下的15%的企業沒有使用微服務。
微服務到底有什么好呢?微服務在2013年才被提出,短短幾年就有這么快速的發展。微服務架構能夠實現由小型自主服務組成一個整體應用,各個組成部分之間是松耦合的,復雜性低,各個部分可以獨立部署,修復bug或者引入新特性更容易,能夠獨立擴展,不同技術棧之間可以使用不同框架、不同版本庫甚至不同的操作系統平臺。
對于中大型架構系統來說,微服務更加便捷,微服務成為很多企業架構重構的方向,同時也對架構師提出更高的挑戰。目前有很多常用于微服務構建的框架,對于構建微服務架構能夠帶來一些幫助。
1.Spring Boot
Spring Boot的設計目的是簡化新Spring應用初始搭建以及開發過程,2017年有64.4%的受訪者決定使用Spring Boot,可以說是最受歡迎的微服務開發框架。利用Spring Boot開發的便捷度簡化分布式系統基礎設施的開發,比如像配置中心、注冊、負載均衡等方面都可以做到一鍵啟動和一鍵部署。
2.Spring Cloud
Spring Cloud是一個系列框架的合計,基于HTTP(s)的RETS服務構建服務體系,Spring Cloud能夠幫助架構師構建一整套完整的微服務架構技術生態鏈。
3.Dubbo
Dubbo是由阿里巴巴開源的分布式服務化治理框架,通過RPC請求方式訪問。Dubbo是在阿里巴巴的電商平臺中逐漸探索演進所形成的,經歷過復雜業務的高并發挑戰,比Spring Cloud的開源時間還要早。目前阿里、京東、當當、攜程、去哪等一些企業都在使用Dubbo。
4.Dropwizard
Dropwizard將Java生態系統中各個問題域里最好的組建集成于一身,能夠快速打造一個Rest風格的后臺,還可以整合Dropwizard核心以外的項目。國內現在使用Dropwizard還很少,資源也不多,但是與SpringBoot相比,Dropwizard在輕量化上更有優勢,同時如果用過Spring,那么基本也會使用SpringBoot。
5.Akka
Akka是一個用Scala編寫的庫,可以用在有簡化編寫容錯、高可伸縮性的Java和Scala的Actor模型,使用Akka能夠實現微服務集群。
6.Vert.x/ Lagom/ ReactiveX/Spring 5
這四種框架主要用于響應式微服務開發,響應式本身和微服務沒有關系,更多用于提升性能上,但是可以和微服務相結合,也可以提升性能。
1. .NET Core
.NET Core是專門針對模塊化微服務架構設計的,是跨平臺應用程序開發框架,是微軟開發的第一個官方版本。
2.Service Fabric
Service Fabric是微軟開發的一個微服務框架,基于Service Fabric構建的很多云服務被用在了Azure上。
3.Surging
Surging是基于RPC協議的分布式微服務技術框架,基于.NET Core而來。
4.Microdot Framework
Microdot Framework用于編寫定義服務邏輯代碼,不需要解決開發分布式系統的挑戰,能夠很方便的進行MicrosoftOrleans集成。
1.Seneca
Seneca是Node.js的微服務框架開發工具,可以用于編寫可用于產品環境的代碼。
2.Hapi/ restify/ LoopBack
這三種框架的分工不同,前兩種更適合開發簡單的微服務后端系統,第三種更適合用在大型復雜應用開發,還可以用在現有微服務上的構建。
Go-Kit/Goa/Dubbogo
Go-Kit是分布式開發的工具合集,適合用于大型業務場景下構建微服務;Goa是用Go語言構建的微服務框架;Dubbogo是和阿里巴巴開源的Dubbo能夠兼容的Golang微服務框架。
Python相關的微服務框架非常少,用的比較多的是Nameko。Nameko讓實現微服務變得更簡單,同時也提供了很豐富的功能,比如支持負載均衡、服務發現還支持依賴自動注入等,使用起來很方便,但是有限速、超時和權限機制不完善等缺點。
微服務已經成為很多大型互聯網公司的選擇,對于架構師和想要成為架構師的工程師來說,掌握微服務不僅要學會使用相關框架來實現,還要掌握具體用法,在具體的實踐中仍然要避開很多坑。
歡迎大家關注我新開通的公眾號【風平浪靜如碼】,海量Java相關文章,學習資料都會在里面更新,整理的資料也會放在里面。
覺得寫的還不錯的就點個贊,加個關注唄!點關注,不迷路,持續更新!!!
干貨資料大派送<Java相關資料分享>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。