您好,登錄后才能下訂單哦!
本篇內容介紹了“Spring Cloud微服務的相關問題有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
01. 微服務是什么?
微服務化的核心就是將傳統的一站式應用,根據業務拆分成一個一個的服務,徹底去掉耦合,每一個微服務提供單個業務功能,一個服務只做一件事。
從技術角度講就是一種小而獨立的處理過程,類似與進程的概念,能夠自行單獨啟動或銷毀,可以擁有自己獨立的數據庫。
論文中提到了微服務和傳統架構的區別,傳統架構(單機系統),一個項目一個工程:比如商品、訂單、交易、庫存等等,統一部署,一個進程。如下圖所示(圖片出自于原文):
微服務架構(分布式系統),各個模塊/服務,各自獨立出來,“讓專業的人干專業的事”,獨立部署。分布式系統中,不同的服務可以使用各自獨立的數據庫。如下圖所示(圖片出自于原文):
02. 微服務的優缺點
微服務優點:
1.每個服務足夠內聚,足夠小,代碼容易理解。這樣能聚焦一個只當的業務功能或業務需求。
2.開發簡單、開發效率提高,一個服務可能就是專業的只干一件事,微服務能夠被小團隊單獨開發,這個小團隊可以是2到5人的開發人員組成。
3.微服務是松耦合的,是有功能意義的服務,無論是在開發階段或部署階段都是獨立的。
4.微服務能使用不同的語言開發。
5.易于和第三方集成,微服務運行容易且靈活的方式集成自動部署,通過持續集成工具,如Jenkins,Hudson,bamboo。
6.微服務易于被一個開發人員理解、修改和維護,這樣小團隊能夠更關注自己的工作成果,無需通過合作才能體現價值。
7.微服務允許你利用融合最新技術。微服務只是業務邏輯的代碼,不會和HTML/CSS或其他界面組件混合,即前后端分離。
8.每個微服務都有自己的存儲能力,可以有自己的數據庫,也可以有統一數據庫。
微服務的缺點:開發人員要處理分布式系統的復雜性。
03. 微服務的技術棧有哪些?
微服務中,首先肯定離不開服務開發、服務配置與管理、服務注冊與發現、服務的調用、熔斷器以及負載均衡等等,除此之外,還有服務的路由、監控、部署,還有可能涉及到一些中間件等等。
這些技術棧都有一些對應的落地技術實現,具體可以看一下下面這張圖(圖片可點開放大):
04. 為什么選擇SpringCloud?
當前微服務架構,Dubbo和SpringCloud比較火,另外還有Thrift、gRPC等等,下面把這些做一個比較,即可看出SpringCloud的強大之處。由于圖片比較長,我分了兩張圖。
在微服務架構的實施和落地過程中,通常我們會進行技術選型,很多人會拿阿里開源的Dubbo和Spring Cloud進行對比,實際上對比的是REST和RPC,其實Dubbo和Spring Cloud并不在同一領域,沒有可比性。
Spring Cloud是一個完整的微服務解決方案,正如上面的表格中展現的,它提供分布式情況下的各種解決方案合集。而Dubbo是一款高性能的Java RPC框架。Spring Cloud生態和Dubbo生態隨著技術的發展,會逐漸的融合互補。
“Spring Cloud微服務的相關問題有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。