微服務


認識微服務

單體框架

 將所有的業務功能集中在一個項目中開發,打包和部署

優點:

  • 架構簡單
  • 部署成本低

缺點:

  • 耦合度高

分布式框架

根據業務功能拆分成多個獨立的業務模塊進行開發和部署,每個獨立的業務模塊稱為服務

優點:

  • 降低服務耦合
  • 有利於服務升級擴展

分布式框架要考慮的問題:

  • 服務之間如何實現遠程調用
  • 服務集群地址如何維護

微服務

微服務得從兩個方面去理解,什么是"微"、什么是"服務",微 狹義來講就是體積小、意思是說單個服務的的獨立開發,將所有參與設計、開發、測試、運維的組成獨立的開發小組。 而所謂服務,一個或者一組相對較小且獨立的業務功能單元。

微服務架構特征:

  • 單一職責:微服務拆分粒度更小,每一個服務都對應唯一的業務功能,做到單一職責,避免重復業務開發
  • 面向服務:微服務對外暴露業務接口
  • 自治:團隊獨立、技術獨立、數據獨立、部署獨立
  • 隔離性強:服務調用做好隔離、容錯、降級、避免出現級聯問題

優點:拆分粒度更小、服務更獨立、耦合度更低
缺點:架構非常復雜,運維、監控、部署難度提高

微服務結構

SpringCloud是目前國內使用最廣泛的微服務框架。官網地址:https://spring.io/projects/spring-cloud

SpringCloud集成了各種微服務功能組件,並給予SpringBoot實現了這些組件的自動裝配,從而提供了良好的開箱即用體驗

服務注冊發現:Eureka、Nacos、Consul

統一配置管理:SpringCloudConfig、Nacos

服務遠程調用:OpenFeign、Dubbo

統一網關路由:SpringCloudGateway、Zuul

服務鏈路監控:Zipkin、Sleuth

流控、降級、保護:Hystix、Sentinel

SpringCloud與SpringBoot的版本兼容關系如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM