Spring Cloud之Zuul(一):编写Zuul微服务网关

版权声明:本文为博主原创文章,可自由转载、引用,但需注明文章出处。 https://blog.csdn.net/StarskyBoy/article/details/85011830

主题

编写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

获取更多信息,请扫我

猜你喜欢

转载自blog.csdn.net/StarskyBoy/article/details/85011830