主题
编写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
获取更多信息,请扫我