1. 程式人生 > >Spring Cloud之Zuul(一):編寫Zuul微服務閘道器

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

獲取更多資訊,請掃我