前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zuul使用中的一些问题

zuul使用中的一些问题

原创
作者头像
降龙_伏虎
修改2022-04-22 11:06:25
4350
修改2022-04-22 11:06:25
举报
文章被收录于专栏:服务端开发笔记
1.token不向后传

微服务设计中,header中的信息(Cookie/Set-Cookie/Authorization)属于附加鉴权相关, 而统一鉴权属于网关工作范畴,所以请求经过网关后,header信息不会继续向后传.最小知道原则 想解决 配置文件中 sensitive-headers:置空即可2.项目改造过程中,路由问题 原有服务域名old.com

重构服务域名new.com

将app调用old.com的请求转发到 新服务 new.com

解决办法:

1.zuul网关中,新老url做映射 2.nginx中进行匹配 3.zuul中自定义filter

3.动态路由(流量定向分发)问题

根据特定规则,将不同用户请求分发到不同服务中去,

思路参考:《灰度发布与ABtest》

4.网关一般作用:

分发服务 鉴权 过滤请求 监控 (动态)路由 限流流量峰值估算,28原则 80%的流量集中在在20%的时间中

5.zuul四种过滤器

pre 在请求被路由之前调用,可实现鉴权、选择微服务、日志、限流 route在请求路由到微服务时调用,利用httpClient或ribbon实现 post在调用微服务之后调用,将相应返回客户端,可用于添加heder、记录日志 error 其它阶段发生异常时

6.filter实现过程

1.继承zuulfilter 2.shoudFilter() true:执行当前filter false:不执行 3.run()filter具体业务逻辑 4.filterType:pre、route、post、error 5.order:数字越小,执行顺序越靠前

7.zuul中404问题

zuul中地址来源:Eureka中获取/配置文件中获取, 如果都找不到就会404

8.zuul容错

实现FallbackProvider

9.过滤器开关

shoudFilter(),中信息存储到redis或者配置中心,

不需要重启服务可完成过滤器的开启和关闭

  • sendZuulResponse(false)将短路下一类型filter, 但是同类型filter不受影响,如果需要短路同类型,需要自行在同类型filtershoudFilter()中对sendZuulResponse进行判断10. 网关限流
  • 通过filter+google.guava令牌桶进行限流
  • 微服务自身也应该有限流,也可以通过filterfilter+google.guava限流, 也可采用filter+Sentinel或者@SentinelResource注解方式

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.token不向后传
  • 3.动态路由(流量定向分发)问题
  • 4.网关一般作用:
  • 5.zuul四种过滤器
  • 6.filter实现过程
  • 7.zuul中404问题
  • 8.zuul容错
  • 9.过滤器开关
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档