spring-cloud核心知識點簡單總結
前言
本週,我們圍繞spring cloud
常用元件,分享了一些知識點,今天花點時間,簡單回顧總結一下。
本週總分分享了四個核心元件,其中包括註冊中心元件eureka
、負載均衡元件ribbon/feign
、斷路器元件hystrix
以及應用閘道器元件zuul
,其中最核心的就是註冊中心eureka
,至於原因想必大家都能猜出來,因為其他幾個元件的功能實現基本上都是依賴於eureka
展開的,可以說離開了eureka
註冊中心,其他元件基本上都無法正常工作了。
回顧總結
今天回顧的方式也是從一張腦圖開始,這張腦圖主要展示了各個元件的啟用流程和步驟,需要腦圖原始檔的小夥伴,公眾號回覆【spring-cloud總結】即可獲取。
內容綱要
註冊中心
eureka
-
服務端
-
引入依賴
spring-cloud-starter-netflix-eureka-server
-
啟用元件
@EnableEurekaServer
-
核心配置
-
註冊伺服器主機名稱
eureka.instance.hostname
-
是否註冊給服務中心
eureka.client.register-with-eureka
-
是否檢索服務
eureka.client.fetch-registry
-
治理客戶端服務域
eureka.client.service-url.defaultZone
-
-
eureka客戶端
-
服務發現/註冊
-
引入依賴
spring-cloud-starter-netflix-eureka-client
-
啟用元件
-
低版本需要啟用
@EnableDiscoveryClient
-
-
核心配置
-
同服務端,通常我們只配置註冊中心的地址
eureka.client.service-url.defaultZone
-
-
其他
-
如果需要spring cloud監測服務執行狀態,需要引入監控元件
spring-boot-starter-actuator
-
-
負載均衡
ribbon
-
引入依賴
spring-cloud-starter-netflix-ribbon
- 引入eureka客戶端元件及配置
-
注入
RestTemplate
-
在注入
RestTemplate
時,在例項方法上加上負載均衡註解@LoadBalanced
-
-
通過
RestTemplate
訪問相關訪問- 訪問服務時需要指定服務
id
- 訪問服務時需要指定服務
feign
-
宣告式呼叫
-
引入依賴
spring-cloud-starter-openfeign
-
引入
eureka
客戶端元件及配置 -
啟用元件
@EnableFeignClients
-
宣告目標服務介面
-
指定服務id
@FeignClient("user-service")
-
指定介面
-
@GetMapping("/user/{id}")
-
方法入參
-
-
-
注入宣告介面,並呼叫
-
閘道器
zuul
-
核心依賴
spring-cloud-starter-netflix-zuul
-
引入
eureka
客戶端元件及配置 -
啟用元件
@EnableZuulProxy
-
服務訪問
- 通過應用閘道器訪問所有服務
- 訪問地址:應用閘道器服務地址+服務註冊
id
+ 介面地址
-
擴充套件知識
-
配置訪問規則
zuul.routes.product-service.path
-
配置服務地址
zuul.routes.product-service.url
-
指定服務
id
zuul.routes.product-service.service-id
-
熔斷器
hystrix
-
核心依賴
spring-cloud-starter-netflix-hystrix
-
啟用組
@EnableCircuitBreaker
-
介面啟用熔斷機制
-
對應方法增加
@HystrixCommand
註解-
可以在註解中指定熔斷回撥方法
@HystrixCommand(fallbackMethod = "error")
-
可以設定熔斷相關配置
- 超時時間
-
-
hystrix-dashboard
-
核心依賴
spring-cloud-starter-netflix-hystrix-dashboard
-
啟用元件
@EnableHystrixDashboard
-
新增監控主機
-
客戶端引入
actuator
監控元件 -
新增主機地址
-
turbine
叢集https://turbine-hostname:port/turbine.stream
-
turbine
叢集中某一個節點https://turbine-hostname:port/turbine.stream?cluster=[clusterName]
-
單節點
https://hystrix-app:port/actuator/hystrix.stream
-
-
總結
好了,回顧總結就到這裡,今天主要是把之前的知識點過一遍,加深下相關知識的印象,如果還有小夥伴已經忘記了,可以點選下面相關知識的連結進行回顧: