---------------------------目錄--------------------------------
一、SpringCloud系列組件實戰(Eureka、Ribbon、Hystrix、Feign、Getway、Config等組件)
二、SpringCloud系列官方文檔
1、架構的演進
2、微服務架構的優缺點
3、微服務架構中的概念
4、SpringCloud系列
---------------------------目錄--------------------------------
一、SpringCloud組件實戰系列
SpringCloud之(豪豬)Hystrix限流、熔斷、降級
Ribbon、Feign和OpenFeign的區別---課外普及
SpringCloud之遠程調用OpenFeign和Ribbon
SpringCloud之配置中心(config)的使用Git+數據庫實現
二、SpringCloud組件官網系列
SpringCloud官方文檔 SpringCloud中文網
1、架構的演進
- 輕量級、靈活,甚至於 Serverless(無服務)架構
- 由單體應用 ——> 垂直分層 ——> 面向服務SOA(具體應用例如:Dubbo) ——> 微服務 ——> Serverless(無服務)
2、微服務架構優缺點
首先微服務架構的核心思想是“微”,項目的拆分粒度相對較小,更能提現出單一職責、開發耦合度低、微小的功能可以獨立部署、拓展靈活性強、升級改造影響范圍小。
微服務的優點:
- 微服務很小,便於特定的功能聚焦
- 微服務很小,每個微服務都可以被一個小團隊獨立實施(開發、測試、部署上線、運維),團隊合作便於一定程度解耦、方便敏捷開發。
- 微服務很小,便於重用和模塊之間的組裝
- 微服務獨立,不同的微服務可以使用不同的語言開發,松耦合
- 微服務架構下,方便引入新技術,同時方便更好的實現DevOps開發運維一體化
微服務缺點:
- 微服務架構下,分布式隨着服務數量的增加,管理將越加復雜
- 微服務架構下,分布式鏈路跟蹤、分布式事務難。
3、微服務架構中的概念
- 服務注冊與發現
服務注冊:服務提供者將提供的服務信息(服務器ip、端口、服務訪問協議等)注冊到注冊中心
服務發現:服務消費者從注冊中心獲取實時的服務列表,根據一定的策略選擇一個服務訪問
- 負載均衡
負載均衡即將請求的壓力分配到多個服務器,以此來提供服務的性能、可靠性。
- 熔斷、限流、降級
熔斷:即斷路保護,在微服務中上游服務因訪問壓力過大響應變慢或失敗,上游服務為保證整體可用性,可以暫時切斷對下游服務的調用,犧牲局部保全整體的一種措施。針對下游服務處理。
限流:高並發的系統保護利器,當突然的高並發流量來襲,進行控制並發/請求量,一旦達到某個極限值,其余的請求拒絕服務或者排隊等待。
降級:服務降級是從整體符合考慮,由於某些服務調用造成整體系統緩慢或者崩潰,而采用虛假的本地服務進行返回,服務降級有一定的代碼侵入。
- 鏈路追蹤
鏈路追蹤:就是對一次請求設計的很多分物語鏈路進行日志記錄、性能監控。
- Api網關
4、SpringCloud微服務
SpringCloud是一系列框架的有序集合(規范),利用SpringBoot開發的便利性簡化了分布式系統基礎設施的開發,如服務發現與注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等。
核心組件如下表:
第二代SpringCloud微服務: SpringCloudAlibaba微服務實戰教程系列