美文网首页
dapeng使用服务路由对服务进行灰度上线

dapeng使用服务路由对服务进行灰度上线

作者: 枫叶_huazhe | 来源:发表于2018-08-09 00:36 被阅读0次

    背景

    目前我司云平台系统已经在线上运行了数月,目前正值需求繁多、bug修复、上线频繁的时期,也是整个云平台的阵痛期。由于系统已经上线,为了不影响生产环境,需要灰度发布

    部署灰度机

    线上已经在运行服务称为旧版本的服务,大多数生产请求还是走这个版本。
    我们需要在一台特定的服务器上(这里称为灰度机)部署一个最新的,添加了新的需求或者是bug修复之类的版本。

    需求

    比如这次的新版本,对某个方法的逻辑进行了变更,我们需要针对指定的门店在生产上去测试这一个新的方法,比如会员服务的MemberUseCouponByCouponIdNewAction,是一个会员核销代金券的接口方法。

    环境

    假设线上稳定版的服务部署节点为2个,IP地址分别为:

    stable-app-1    192.168.10.1
    stable-app-2    192.168.20.1
    

    灰度机部署的新版本的服务节点1个,IP地址为:

    gray-app-1     192.168.30.1
    

    实现

    指定的门店请求路由到灰度机,正常的,其余所有门店继续走旧版本的稳定服务。

    cookie_storeId match 12345601 => ip"192.168.30.1"
    otherwise => ~ip"192.168.30.1" 
    

    在发布新服务时,运维可以动态的调整灰度策略,逐步放量用户,使用新的版本的服务,直到系统完全稳定,再切换到新版本。

    API版本变更灰度

    由于我们的服务都是以微服务模式进行开发部署的。如果需要灰度的服务,API接口发生改变,那么其他服务去调用他时,因为要获取到他最新的元数据信息,才能够继续进行调用。那么我们需要对获取元数据的接口也要进行路由,让所有请求也要路由到灰度机上去。

    method match "getServiceMetaData" => ip"192.168.30.1"
    

    注意事项

    当不需要继续灰度或者不需要路由规则时,一定要注意先撤销路由配置,让所有服务正常路由,然后再停止灰度机。

    相关文章

      网友评论

          本文标题:dapeng使用服务路由对服务进行灰度上线

          本文链接:https://www.haomeiwen.com/subject/anvfbftx.html