SpringCould-Zuul
SpringCould 路由网关(Zuul)
Zuul的主要功能是路由转发和过滤器。例如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能。
zuul功能点(下面只简单介绍勾选的)
- Authentication 认证
- Insights 洞察?
- Stress Testing 压力测试
- Canary Testing 金丝雀测试
- Dynamic Routing 动态路由
- Service Migration 服务迁移
- Load Shedding 加载脱落
- Security 安全
- Static Response handling 静态响应处理
- Active/Active traffic management 活动/活动流量管理
步骤
新建springboot项目勾选如下
- web->web
- Could discovery-> eureka server
- Could routing->zuul
在
EurekazuulApplication
启动类添加注解@EnableZuulProxy
开启zuul功能@EnableEurekaClient
也需要注册到服务中心在
application.yml
添加如下配置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17server:
port: 8095
spring:
application:
name: zuul-client
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8091/eureka/ #注意要加eureka,不然找不到
zuul:
routes:
api-a:
path: /api-a/** #以/api-a/ 开头的请求都转发给ribbon-client服务
serviceId: ribbon-client
api-b:
path: /api-b/** #以/api-b/ 开头的请求都转发给feign-client服务
serviceId: feign-client依次启动注册中心、ribbon服务端、feign服务端、zuul服务端
http://127.0.0.1:8095/api-b/sayhi?name=32访问的就是feign服务端
注意:api-b不需要在control里面添加路径,只需要添加sayhi就行
到此就实现了路由功能
服务过滤
服务过滤安全校验功能等,新建一个MyFilter
类注意加注解@Component
,然后继承ZuulFilter
类
1 |
|