Spring Cloud之Zuul(一):編寫Zuul微服務閘道器
主題
編寫Zuul微服務閘道器
前言
閘道器的概念大家可以點選這裡瞭解,或者等待米兜好文章更新。本例項主要是將Zuul註冊到Eureka Server上,並做一些案例測試。
內容
1.新建專案
cloud-register-gateway-zuul微服務
2.引入依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> <!--實現容錯--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
3.啟動類新增@EnableZuulProxy註解
4.application.yml配置
server:
port: 8023
spring:
application:
name: cloud-register-gateway-zuul
eureka:
client:
serviceUrl:
defaultZone: http://127.0.0.1:8001/eureka/
5.啟動專案
(1)cloud-discovery-eureka(port=8001)
(2)cloud-register-user(port=8002)
(3)cloud-register-gateway-zuul(port=8023)
(4)cloud-register-consumer-ribbon(port=8007)
6.結果測試
測試一:路由規則
(1)訪問http://127.0.0.1:8023/cloud-register-user/1 ,結果如下:
(2)訪問http://127.0.0.1:8023/cloud-register-consumer-ribbon/log-user-instance ,結果如下:
由上可見,閘道器都可以訪問埠後的服務,說明預設情況下,路由能按如下方式轉發:
http://ZUUL_HOST:ZUUL_PORT/服務註冊在EureKa上的servicId/**
測試二:負載均衡
啟動多個cloud-register-user微服務,然後按一方式訪問,看看後臺輸出,這個我就不操作了,大家自個試試吧。
測試三:Hystrix容錯和監控
在一的基礎上,多啟動cloud-hystrix-dashboard微服務。
(1)瀏覽器位址列輸入http://localhost:8019/hystrix
(2)在Hystrix Dashboard輸入http://localhost:8023/hystrix.stream和主題example zuul,結果如下:
說明了本閘道器整合了Hystrix。
原始碼獲取
1.gitee:https://gitee.com/StarskyBoy/cloud
2.github: https://github.com/StarskyBoy/cloud
獲取更多資訊,請掃我