[发明专利]一种用于分布式系统的基于标签的环境隔离方法有效
申请号: | 201911190433.7 | 申请日: | 2019-11-28 |
公开(公告)号: | CN111131034B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 陈旋;王冲;赵琪 | 申请(专利权)人: | 江苏艾佳家居用品有限公司 |
主分类号: | H04L12/721 | 分类号: | H04L12/721;H04L12/723;H04L12/24;H04L29/08 |
代理公司: | 南京正联知识产权代理有限公司 32243 | 代理人: | 邓唯 |
地址: | 211100 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 分布式 系统 基于 标签 环境 隔离 方法 | ||
本发明公开了一种用于分布式系统的基于标签的环境隔离方法,涉及环境隔离技术领域,具体包含服务调用按流量标签路由、配置按照标签拉取、消息队列按照标签发送和消费、调度中心按照标签调度四部分。本发明针对分布式服务的服务调用提供了按标签路由,配置中心按照标签拉取配置,任务调度按照标签调度和消息队列按照标签消费;同时通过标签未匹配上路由到不带标签的服务实例的方式,实现了不带标签实例的共享,这样可以以极小的资源就复制出一套独立环境。
技术领域
本发明涉及环境隔离技术领域,尤其涉及一种用于分布式系统的基于标签的环境隔离方法。
背景技术
目前一种典型的前后端分离的分布式应用环境的部署是这样的,将全部的服务和中间件以及数据库部署在服务器上,分布式服务之间通过注册到同一个服务注册中心相连,使用共同的消息队列集群,redis集群等中间件,然后通过nginx来做一个负载均衡。
如图1所示,基于这种方式部署的环境,由于每个服务只能提供一个版本的服务,所以具有几个显著的特性:
用作测试环境时,稳定性低。主要是由几个因素导致,1.代码变更频繁,难免有低质量代码会被合并和发布到测试环境中,导致服务不稳定 2.不同需求之间存在冲突,api变更频繁,可能会导致冲突
用作线上环境时,不够灵活。不能够灵活的支撑业务需要的A/B版本测试,或者是针对特定用户的beta测试等
在业务需要重新部署一套环境的情况下,代价很大,服务和中间件还有环境的配置等都需要重新弄。浪费了大量的人力和计算资源,提高了成本
基于上述原因,我们迫切的需要一种能够保障测试环境稳定运行,线上环境能很好的服务用户,同时能够快速部署新环境的解决方案,于是一种用于分布式系统的流量标签路由方法出现了,通过对分布式服务打标签,控制流量按照标签路由来解决我们遇到的分布式服务环境中的问题。
发明内容
本发明所要解决的技术问题是针对分布式服务的服务调用提供了按标签路由,配置中心按照标签拉取配置,任务调度按照标签调度和消息队列按照标签消费,同时通过标签未匹配上路由到不带标签的服务实例的方式,实现了不带标签实例的共享,可以极小的资源就复制出一套独立环境。
本发明为解决上述技术问题采用以下技术方案:
一种用于分布式系统的基于标签的环境隔离方法,具体包含服务调用按流量标签路由、
配置按照标签拉取、消息队列按照标签发送和消费、调度中心按照标签调度四部分;
其中,一、服务调用按流量标签路由,通过SDK的方式实现;
(1) 服务调用时,流量的精细化控制,通过标签实现流量打到特定版本的服务实例上,用于实现应用的A/B测试;
(2)针对特定用户打上标签,用于实现精准的针对特定用户的应用的beta测试,A/B测试;
(3)通过标签的流量路由,用于实现环境的隔离,且作为复制一套自定义环境的基础;
(4)发布阶段,测试人员通过特定的流量标签可直接在线上环境对新发布的代码进行测试,测试完成后直接去除标签,新发布的代码即可对所有用户开放,进而降低线上发布风险;
二、配置按照标签拉取,用于实现新需求的代码在配置变更的情况下,通过给修改的配置打上标签,则可拉取到特定标签的修改后的配置,而不需要改动原有的配置,同时保障原有的服务仍然是稳定的,不会受配置变更的影响;
三、消息队列按照标签发送和消费;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏艾佳家居用品有限公司,未经江苏艾佳家居用品有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911190433.7/2.html,转载请声明来源钻瓜专利网。