【技术实现步骤摘要】
一种dubbo应用级全链路灰度实现方法及系统
本专利技术涉及计算机
,更具体地说,涉及到一种dubbo应用级全链路灰度实现方法及系统。
技术介绍
项目上线都是以应用级别粒度进行更新上线的,上线的新版本与旧版本需要通过隔离测试和新旧版本访问流量控制来实现灰度发布,dubbo2.6目前只能够实现服务级别的权重和路由控制,如果需要对整个应用权重和路由进行修改,目前只能采用循环所有服务的方式进行权重和路由添加修改,这样不仅低效而且存在循环出错的风险。dubbo2.6如果要实现新版本上线后暂时无流量进入,需要开发人员为每个服务权重设置默认值0来防止流量进入新版本,如果某个开发人员忘记了或者设置错误都将会导致流量进入新版本。而通过路由配置来实现隔离测试,如果服务发布到k8s等容器云中,需要等到服务启动后才能获取服务所在的服务器IP进行路由配置,而此时流量可能已经进入新版本。如上两种都会导致灰度发布生效时间过晚,导致流量随机进入新旧版本的不可控,无法起到新旧版本隔离,并且需要开发人员介入灰度发布流程中来,增加的开发人员的负担。服务链 ...
【技术保护点】
1.一种dubbo应用级全链路灰度实现方法,其特征在于,包括以下步骤:/n步骤一:用户通过消费端向生产端发送访问请求;/n步骤二:基于所述用户访问请求,通过分类算法对所述生产端的版本进行分类;/n步骤三:根据用户设置的tag和weight,从新旧版本中通过筛选算法对符合要求的版本进行筛选;/n步骤四:根据筛选出符合要求的版本,通过兼容算法确定用户所要访问的版本;/n步骤五:符合要求的用户对已确定所要访问的版本进行访问。/n
【技术特征摘要】
1.一种dubbo应用级全链路灰度实现方法,其特征在于,包括以下步骤:
步骤一:用户通过消费端向生产端发送访问请求;
步骤二:基于所述用户访问请求,通过分类算法对所述生产端的版本进行分类;
步骤三:根据用户设置的tag和weight,从新旧版本中通过筛选算法对符合要求的版本进行筛选;
步骤四:根据筛选出符合要求的版本,通过兼容算法确定用户所要访问的版本;
步骤五:符合要求的用户对已确定所要访问的版本进行访问。
2.根据权利要求1所述的一种dubbo应用级全链路灰度实现方法,其特征在于,通过分类算法对所述生产端的版本进行分类,所述步骤包括:
根据所述生产端的版本类型,对版本类型进行分类处理;
根据所述生产端的版本序号,定义新旧版本类型。
3.根据权利要求2所述的一种dubbo应用级全链路灰度实现方法,其特征在于,从新旧版本中通过筛选算法对符合要求的版本进行筛选,所述步骤包括:
当不存在所述tag和所述weight时,符合要求的用户默认访问旧版本;
当同时存在所述tag和所述weight,所述tag不相同时选择tag路由算法;
当同时存在所述tag和所述weight,所述tag相同时选择weight路由算法。
4.根据权利要求3所述的一种dubbo应用级全链路灰度实现方法,其特征在于,通过兼容算法确定用户所要访问的版本,所述步骤包括:
通过复用平台的随机确定出一个版本副本;
通过一致性哈希确定出一个版本副本。
5.根据权利要求4所述的一种dubbo应用级全链路灰度实现方法,其特征在于,通过兼容算法确定用户所要访问的版本,所述步骤包括:
通过轮询法确定出一个版本副本;
通过最小连接数算法确定出一个版本副本。
6.一种dubbo...
【专利技术属性】
技术研发人员:黄志超,江有山,杨慧,郭倩,张海松,
申请(专利权)人:银盛支付服务股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。