zuul 实践

本文详细介绍了如何配置Zuul作为微服务的API网关,包括通过@EnableZuulProxy启用Zuul,设置路径匹配规则如通配符和前缀,以及如何配置路由到不同的服务。同时,文章还讨论了Zuul的敏感头信息、重试机制和动态刷新配置,以优化服务性能和用户体验。
摘要由CSDN通过智能技术生成


zuul in action
1.jar包导入
spring-cloud-starter-netflix-zuul

2.启动类
@EnableZuulProxy

3.配置文件
# 使用路径方式匹配路由规则
# customName 自定义, 通常使用要调用的服务名称,方便后期管理
# zuul.routes.customName.path=xxx

# 通配符
# /? 匹配单个字符
# /* 匹配单路径下任意数量的字符
# /** 匹配多级路径下任意数量的字符
zuul.routes.micro-goods.path=/web/**

# zuul.routes.customName.url=xxx
# url 用于配置符合 path 的请求路径路由到的服务地址
# zuul.routes.micro-order.url=http://localhost:8080/

# zuul.routes.customName.serviceId=xxx
# serviceId 用于配置匹配 path 路径的请求 路由到的服务名称
zuul.routes.micro-goods.serviceId=micro-goods

# 防止服务侵入
# 配置不被 zuul 代理的服务列表。多个服务名称使用逗号','分隔
# zuul 在拉取服务列表,创建映射规则的时候,会忽略掉 ignored-services 中的服务
# 只有配置了路由网关的服务才可以通过 zuul 网关访问
zuul.ignored-services=micro-eureka
# zuul.ignored-services=*

# 屏蔽接口
# zuul 在拉取服务列表,创建映射规则的时候,会忽略掉 ignored-patterns 中的接口
# 所有符合 ignored-patterns 的请求路径都不被 zuul 网关代理
zuul.ignored-patterns=/**/local/**

# 配置请求路径前缀,请求 /api/client/add , 实际起作用的是 client/add
# zuul 会把前缀从请求路径中移除
# zuul.prefix=/api
# 关闭移除前缀的功能
# zuul.routes.micro-goods.stripPrefix=true

# 默认是过滤掉 Cookie, Set-Cookie, Authorization
# 置空表示不用过滤
zuul.routes.micro-goods.sensitive-headers=

# 对所有请求过滤 Cookie, Set-Cookie, Authorization
# zuul.sensitive-headers=Cookie, Set-Cookie, Authorization

# 添加 host 头信息,隐藏后台服务地址
zuul.add-host-header=true

# 默认添加  X-Forwarded-* 头域
zuul.add-proxy-headers=true

# 本地跳转
zuul.routes.zuul-server.path=/local/**
zuul.routes.zuul-server.url=forward:/local

zuul.routes.blog.path=/blog/**
zuul.routes.blog.url=http://localhost:8003/

# 有些请求可以开启重试,提高用户体验,需注意接口幂等性问题
# zuul 默认集成 ribbon, 可通过 ribbon 来做重试
zuul.retryable=true
# 关闭该服务的重试
zuul.routes.micro-goods.retryable=false

# 同一个服务重试的次数,除去首次
ribbon.MaxAutoRetries=1
# 切换相同服务的数量
ribbon.MaxAutoRetriesNextServer=1

配置动态刷新
1.jar包导入 -- 见config
2.配置文件 -- 见config
3.配置类
@Bean
@RefreshScope
@ConfigurationProperties("zuul")
@Primary
public ZuulProperties zuulProperties() {
    return new ZuulProperties();
}


接口
@EnableZuulProxy
spring-boot-starter-actuator

查看 zuul server 中映射规则
http://localhost:7070/actuator/routes

查看 zuul server 中映射规则明细
http://localhost:7070/actuator/routes/details

查看 zuul server 中的 filter
http://localhost:7070/actuator/filters


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我三师弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值