主旨:Spring Boot + Eureka 實現微服務負載均衡
概要介紹:
Spring Cloud是一個基于Spring Boot實現的云原生應用開發工具,它為基于JVM的云原生應用開發中涉及的配置管理、服務發現、熔斷器、智能路由、微代理、控制總線、分布式會話和集群狀態管理等操作提供了一種簡單的開發方式。
主要特點:
- 約定大于配置
- 適用于各種環境
- 隱藏了組件的復雜性,并提供聲明式、無XML式的配置方式
- 開箱即用,快速啟動
- 組件豐富,功能齊全
Spring Cloud核心子項目
Spring Cloud Netflix:核心組件,可以對多個Netflix OSS開源套件進行整合,包括以下幾個組件:
Eureka:服務治理組件,包含服務注冊與發現
Hystrix:容錯管理組件,實現了熔斷器
Ribbon:客戶端負載均衡的服務調用組件
Feign:基于Ribbon和Hystrix的聲明式服務調用組件
Zuul:網關組件,提供智能路由、訪問過濾等功能
Archaius:外部化配置組件
Spring Cloud Config:配置管理工具,實現應用配置的外部化存儲,支持客戶端配置信息刷新、加密/解密配置內容等。
Spring Cloud Bus:事件、消息總線,用于傳播集群中的狀態變化或事件,以及觸發后續的處理
Spring Cloud Security:基于spring security的安全工具包,為我們的應用程序添加安全控制
Spring Cloud Consul : 封裝了Consul操作,Consul是一個服務發現與配置工具(與Eureka作用類似),與Docker容器可以無縫集成
原理圖
-
組件列表
springcloud-component.png -
原理圖
springcloud.png -
簡單流向
springcloud1.png -
復雜流向
springcloud2.png
實踐
下一篇具體實踐