zoukankan      html  css  js  c++  java
  • Zuul 灰度发布

    1.Eureka中增加自定义的元数据,标识同组服务 不同的版本,可以yml中添加下面配置

    ---
    spring:
      profiles: 7001
    
    server:
      port: 7001
    eureka:
      instance:
        metadata-map:
          version: v1
    ---
    spring:
      profiles: 7002
    
    server:
      port: 7002
    eureka:
      instance:
        metadata-map:
          version: v2

    2. zuul工程中引入依赖

       <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            </dependency>

    3.新建一个GrayFilter, 这里模拟1号用户为特殊的用户,走v1服务。

    @Configuration
    public class GrayFilter extends ZuulFilter {
    
        @Override
        public String filterType() {
            return FilterConstants.ROUTE_TYPE;
        }
    
        @Override
        public int filterOrder() {
            return 0;
        }
    
        @Override
        public boolean shouldFilter() {
            return true;
        }
    
        @Override
        public Object run() throws ZuulException {
    
            RequestContext currentContext = RequestContext.getCurrentContext();
            HttpServletRequest httpServletRequest = currentContext.getRequest();
    
            String userid =  httpServletRequest.getHeader("userid");
            System.out.println("userid:"+userid);
    
            if("1".equals(userid)){
                RibbonFilterContextHolder.getCurrentContext().add("version","v1");
            }
    
            return null;
        }
    }

    4. 使用jmeter配置,添加HTTP信息头管理

     

    5. 添加Header参数

     

  • 相关阅读:
    notes: the architecture of GDB
    How systems researchers build systems
    spark1.1.0源码阅读-executor
    spark1.1.0源码阅读-taskScheduler
    spark1.1.0源码阅读-dagscheduler and stage
    akka简单示例-2
    环境安装与项目配置
    安装zsh
    linux mysql 密码修改
    django-debug-toolbar 安装及配置 django性能监控及调试
  • 原文地址:https://www.cnblogs.com/datangguott/p/14310497.html
Copyright © 2011-2022 走看看