SpringCloud常用組件
- Eureka 服務註冊與發現
- Ribbon 客戶端負載均衡
- Feign 聲明式服務調用
- Zuul 服務網關
- Hystrix 斷路器
- Config 分佈式配置
Eureka
簡介
Eureka是Netflix開發的服務發現框架,本身是一個基於REST的服務,主要用於定位運行在AWS域中的中間層服務,以達到負載均衡和中間層服務故障轉移的目的。SpringCloud將它集成在其子項目spring-cloud-netflix中,以實現SpringCloud的服務發現功能。
架構
由兩個組件組成:Eureka服務端和Eureka客戶端。
Eureka服務端用作服務註冊中心。支持集羣部署。
Eureka客戶端用於簡化與服務端交互,用來處理服務註冊與發現。
Eureka 實戰
Ribbon
簡介
Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載均衡工具,它基於Netflix Ribbon實現。通過Spring Cloud的封裝,可以讓我們輕鬆地將面向服務的REST模版請求自動轉換成客戶端負載均衡的服務調用。Spring Cloud Ribbon雖然只是一個工具類框架,它不像服務註冊中心、配置中心、API網關那樣需要獨立部署,但是它幾乎存在於每一個Spring Cloud構建的微服務和基礎設施中。因爲微服務間的調用,API網關的請求轉發等內容,實際上都是通過Ribbon來實現的。 鏈接
服務器端負載均衡和客戶端負載均衡的區別
https://www.jianshu.com/p/c248157bef98
負載均衡策略
Feign
簡介
feign是聲明式的web service客戶端,它讓微服務之間的調用變得更簡單了,類似controller調用service。Spring Cloud集成了Ribbon和Eureka,可在使用Feign時提供負載均衡的http客戶端。鏈接