hello

网关_zuul_灰度发布

yml:

配置灰度规则,这里使用eureka元数据,做处理,需要网关转发的服务,配置元数据信息,这里使用version代表不同版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
---
spring:
  profiles: 8081
eureka:
  instance:
    metadata-map:
      version: v1
server:
  port: 8081
---
spring:
  profiles: 8082
eureka:
  instance:
    metadata-map:
      version: v2
server:
  port: 8082

java:

假如通过用户id,判断不同用户进入不同的服务

1
2
3
4
5
6
7
8
9
10
11
12
13
@Override
  public Object run() throws ZuulException {
      RequestContext currentContext = RequestContext.getCurrentContext();
      HttpServletRequest request = currentContext.getRequest();
      String userid=request.getHeader("userid");
      if("1".equals(userid)){
          RibbonFilterContextHolder.getCurrentContext().add("version","v2");
      }else{
          RibbonFilterContextHolder.getCurrentContext().add("version","v1");
 
      }
      return null;
  }

  

 

posted @   八股文研究生  阅读(45)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
my name is zhangsan
点击右上角即可分享
微信分享提示