CN115665162A - 一种用于灰度发布的智能分流引擎 - Google Patents
一种用于灰度发布的智能分流引擎 Download PDFInfo
- Publication number
- CN115665162A CN115665162A CN202211315890.6A CN202211315890A CN115665162A CN 115665162 A CN115665162 A CN 115665162A CN 202211315890 A CN202211315890 A CN 202211315890A CN 115665162 A CN115665162 A CN 115665162A
- Authority
- CN
- China
- Prior art keywords
- version
- information
- gray scale
- client
- management module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 230000008859 change Effects 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 4
- 238000011064 split stream procedure Methods 0.000 claims 2
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000000034 method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种用于灰度发布的智能分流引擎,包括灰度发布插件:通过用户分流平滑过渡不同版本的应用程序;网关请求模块:向前端发出转发请求,所述前端将版本信息转发到指定版本的微服务器中;前端版本管理模块:用于管理应用程序中不同版本的前端版本信息;微服务版本管理模块:将所述前端版本信息映射到独立部署的对应版本的微服务器中;版本兼容管理模块:用于将应用程序中的新版本兼容旧版本。通过灰度发布智能分流引擎,保证了整体系统的稳定性,并对所出现的问题及时发现和调整。
Description
技术领域
本发明涉及灰度发布技术领域,具体涉及一种用于灰度发布的智能分流引擎。
背景技术
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。在灰度发布中使用A/B测试,即让一部分用户继续使用产品特性A为旧的版本,另一部分处于灰度策略中的白名单用户开始使用产品特性B为灰度服务器中的新版本,如果用户对B没有意见,则逐渐扩大范围,把所有用户都迁移至B上面。灰度发布根据已选定的策略筛选用户,再通过部署系统对用户行为进行分析,不断将产品进行完善。
但是,目前市面上的平台产品,在进行灰度发布的情况下,无法同时解决微服务前端版本管理、微服务版本管理、微服务间调用的版本管理、版本兼容管理等问题,其中任意一个环节出问题,将会引起系统运行异常。用户在使用应用程序时,由于不能及时完成新旧版本的更新替换而产生不好的用户体验,且版本不兼容的问题使不同用户在使用不同的版本收发信息时,产生了极大的阻碍。因此需要一种用户灰度发布的智能分流引擎,来将用户使用的应用程序进行灰度分流,用以增加用户的使用体验。
发明内容
本发明提供,以解决现有技术中存在的上述问题。
一种用于灰度发布的智能分流引擎,其特征在于,包括:
灰度发布插件:通过用户分流的方式,平滑过渡不同版本的应用程序;
网关请求模块:通过所述应用程序向前端发出转发请求,前端将版本信息转发到指定版本的微服务中;
前端版本管理模块:用于管理应用程序中不同版本的前端版本信息;
微服务版本管理模块:将所述前端版本信息映射到独立部署的对应版本的微服务中;
版本兼容管理模块:用于将应用程序中的新版本兼容旧版本。
优选的,所述灰度发布插件,包括:
灰度匹配组件:接收来自客户端发来的访问请求,查看所述访问请求中是否带有灰度标识,若含有灰度标识,则对客户端发来的访问请求施行灰度策略匹配;
所述访问请求中包含当前用户使用的应用程序版本信息列表;
获取所述访问请求中与应用程序版本信息有对应关系的版本配置信息;
根据所述应用程序版本信息列表与有对应关系的版本配置信息匹配所述前端版本管理模块中的前端版本信息。
优选的,所述灰度策略匹配,包括:
获取客户端发来的带有灰度标识的访问请求,并提取所述应用程序版本信息列表、版本配置信息;
根据所述应用程序版本信息列表、版本配置信息判断当前用户是否符合带有灰度标识的条件,并得出判断结果;
所述带有灰度标识的条件为当前应用程序版本不为最新版本;
若所述判断结果符合客户端带有灰度标识的条件,则将判断结果返回至客户端,对客户端施行灰度策略匹配。
优选的,所述网关请求模块,包括:
网关均衡拦截组件:拦截客户端发来的访问请求,并查看所述访问请求是否带有灰度标识,若有,则从灰度标识中获取客户端访问URL地址,若没有则对访问请求进行拦截;
请求转发器:根据所述URL地址以及用户信息确定所述灰度策略的白名单,并将所述白名单转发至所述微服务版本管理模块内部预设的微服务中;
请求限流器:当所述客户端的访问请求数量过大时,则在网关中按照所述微服务版本管理模块能够接收的预设速度进行放行请求。
优选的,所述URL地址以及用户信息确定所述灰度策略的白名单,包括:
对所述白名单用户进行预处理,包括用户身份认证以及用户权项鉴别;
当白名单用户通过预处理的操作时,将白名单用户进行重新注册作为新版本的实例,将所述重新注册的用户作为新的身份标识发送至所述前端版本管理模块中,并由前端版本管理模块转发至微服务版本管理模块进行灰度策略请求。
优选的,所述前端版本管理模块,包括:
数据库:用于接收由网关请求模块发来的转发请求,将所述转发请求中白名单用户的身份标识信息保存在数据库中;
版本信息管理单元:用于存放所述应用程序的各种版本信息,并在应用程序更新时,定期向客户端发送版本更新消息;
异常管理单元:将所述数据库中的身份标识信息进行统计,当转发请求数量大于设定值时,则设定为异常情况,并对转发请求进行拦截。
优选的,所述微服务版本管理模块,包括:
灰度分流子模块:将前端版本管理模块转发过来的信息进行灰度分流,所述灰度分流用于将所述灰度策略中白名单中的用户,根据需求分流至不同版本的应用程序中;
灰度微服务器:用于接收由所述灰度分流中灰度策略匹配到的前端版本信息;请求微服务管理模块发布版本资源包,并解析所述白名单用户需求版本的资源包。
优选的,所述版本兼容管理模块,包括:
从所述微服务器版本管理模块中获取客户端发来的访问请求为目标版本;
将所述目标版本中的信息格式以及有同一类型的所述信息格式作为第一目标格式;
所述灰度微服务器中的版本信息格式为第二目标格式;
将所述第一目标格式中的信息格式发送至灰度微服务器中,并转换成灰度服务器中所述第二目标格式对应的版本信息格式。
优选的,本发明提供,一种灰度发布的智能分流引擎,其特征在于,还包括:
列表监测变更发送单元:获取应用程序版本列表信息,并监测所述版本信息列表是否发生变更;若发生变更,则按照预先设定的变更策略向客户端发送变更信息,提醒用户进行版本变更升级;
版本信息变更判断单元:定期获取客户端当前使用的版本信息,并与所述监测单元获取的应用程序版本列表信息进行比较,判断所述版本信息是否发生变更,并将变更结果返回至所述前端版本管理模块。
优选的,所述预先设定的变更策略,包括:
判定当前客户端使用的版本信息是否为旧版本;
若判定结果为是,则统计当前使用旧版本的用户数量,向所述微服务版本管理模块发出灰度分流请求;微服务器根据客户端发来的灰度分流请求中带有灰度标识的用户进行灰度分流;
若判定结果为否,则统计当前使用所述灰度服务器中版本的用户数量,使得请求访问灰度服务器中新版本用户数量与旧版本用户数量的比例达到预先设定的阈值。
与现有技术相比,本发明具有以下优点:通过灰度发布的智能分流引擎,设计了灰度发布插件,通过对网关请求转发到指定的微服务版本,在相同微服务版本访问相同版本的前端资源,解决了前端版本管理、微服务版本管理、版本兼容管理问题,保证了整体系统的稳定性,在系统初始的时候就可以及时发现和调整问题,以保证其影响度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种用于灰度发布的智能分流引擎模块构成图;
图2为本发明实施例中网关请求模块的工作流程图;
图3为本发明实施例中灰度发布智能分流过程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
参照图1,本发明实施例提供了一种用户灰度发布的智能分流引擎,其特征在于,包括:
灰度发布插件:通过用户分流的方式,平滑过渡不同版本的应用程序;
网关请求模块:所述应用程序向前端发出转发请求,前端将版本信息转发到指定版本的微服务器中;
前端版本管理模块:用于管理应用程序中不同版本的前端版本信息;
微服务版本管理模块:将所述前端版本信息映射到独立部署的对应版本的微服务器中;
版本兼容管理模块:用于将应用程序中的新版本兼容旧版本。
上述技术方案的工作原理为:本实施例采用的方案是,首先由灰度发布插件来统计带有灰度标识的用户,所述灰度发布插件中包含网关请求模块、前端版本管理模块、微服务版本管理模块以及版本兼容管理模块,网所述关请求模块用来获取用户的访问请求,并查看是否带有灰度标识,若有,则将所述访问请求发送至前端版本管理模块中去,当所述前端版本管理模块中收到所述网关请求模块中发来的访问请求时,找到与所述访问请求对应的前端版本信息,并将所述版本信息转发至微服务版本管理模块中,所述前端版本信息映射至对应版本的微服务器中,生成用户所需的版本内容。
上述技术方案的有益效果为:采用本实施例提供的方案,设计灰度发布插件,通过对网关请求转发到指定的微服务版本,在相同微服务版本访问相同版本的前端资源,解决了前端版本管理、微服务版本管理、版本兼容管理问题,保证了整体系统的稳定性,在系统初始的时候就可以及时发现和调整问题,以保证其影响度。
在另一实施例中,所述灰度发布插件,包括:
灰度匹配组件:接收来自客户端发来的访问请求,查看所述访问请求中是否带有灰度标识,若含有灰度标识,则对客户端发来的访问请求施行灰度策略匹配;
所述访问请求中包含当前用户使用的应用程序版本信息列表;
获取所述访问请求中与应用程序版本信息有对应关系的版本配置信息;
根据所述应用程序版本信息列表与有对应关系的版本配置信息匹配所述前端版本管理模块中的前端版本信息。
上述技术方案的工作原理为:本实施例采用的方案是,所述灰度发布插件用来对客户进行灰度策略匹配,接通过收客户端发来的访问请求,所述灰度策略为指定灰度发布的白名单,获取灰度策略白名单用户中的程序版本信息列表、与应用程序版本信息有对应关系的版本配置信息,所述灰度策略存放在redis缓存中,当系统进行更新时,从redis中获取灰度发布策略的配置信息,将白名单中用户的程序版本信息与对应的灰度发布策略进行匹配。
上述技术方案的有益效果为:采用本实施例提供的方案,通过获取程序版本信息以及与程序版本信息有对应关系的版本配置信息,可以方便灰度发布策略更容易的进行,使用redis缓存灰度发布策略的配置信息,可以减少代码的编写,无需在每次更改灰度发布策略后修改代码,解决了灰度发布的效率问题。
在另一实施例中,所述灰度策略匹配,包括:
获取客户端发来的带有灰度标识的访问请求,并提取所述应用程序版本信息列表、版本配置信息;
根据所述应用程序版本信息列表、版本配置信息判断当前用户是否符合带有灰度标识的条件,并得出判断结果;
所述带有灰度标识的条件为当前应用程序版本不为最新版本;
若所述判断结果符合客户端带有灰度标识的条件,则将判断结果返回至客户端,对客户端施行灰度策略匹配。
上述技术方案的工作原理为:本实施例采用的方案是,通过判定客户端发来的灰度标识中带有的应用程序版本信息列表、版本配置信息判断当前用户使用的是否为最新版本,若是最新版本可继续将带有灰度标识的白名单用户施行灰度发布策略。
上述技术方案的有益效果为:采用本实施例提供的方案,通过判断当前带有灰度标识的用户是否为最新版本,可以提高采用灰度发布策略的效率。
在另一实施例中,参照图2,所述网关请求模块,包括:
网关均衡拦截组件:拦截客户端发来的访问请求,并查看所述访问请求是否带有灰度标识,若有,则从灰度标识中获取客户端访问URL地址,若没有则对访问请求进行拦截;
请求转发器:根据所述URL地址以及用户信息确定所述灰度策略的白名单,并将所述白名单转发至所述微服务版本管理模块内部预设的微服务中;
请求限流器:当所述客户端的访问请求数量过大时,则在网关中按照所述微服务版本管理模块能够接收的预设速度进行放行请求。
上述技术方案的工作原理为:本实施例采用的方案是,所述网关请求模块中的网关均衡拦截组件用于拦截客户端发来的访问请求,并查看所述访问请求中是否带有灰度标识,若带有灰度标识,则获取客户端访问URL地址以及用户信息,所述URL地址中包含用户的IP地址,根据IP地址确定可以施行灰度发布策略的用户白名单,当确定好用户白名单后将白名单发送至微服务版本管理模块内部预设的微服务中,该发送过程包含发送成功与发送失败,由请求限流器来判定当前白名单用户是否可以全部发送成功,当客户端的访问请求数量过大时,则停止对白名单中的用户进行发送,并等待客户端的请求访问速度降至微服务版本管理模块能够接收的预设速度。
所述网关均衡拦截组件通过随机函数生成一个随机数后用于选择客户端的集群节点,选择的机器无法预测,即满载服务器还是存在被选中的可能性,因此在随机算法的基础上,网关均衡拦截组件每个可用的服务器节点加上了权重,权重大的节点更容易被选中,在这种算法中可以很好的应对机器性能不会大幅度的改变系统,公式如下:
其中,假设系统中有N个处理机,这N个处理机平均完成一个时间步的时间为Ti,则处理机平均计算时间为系统中所有机器最大处理时间为Tmax,即为处理机并行处理一个任务所要耗费的时间,计算公式为Tmax=max{Ti}(0≤i≤N-1),由上述可算出负载均衡的临界值B,当B等于零时,系统负载近似达到平衡,大于零时,系统负载处于失衡状态。
上述技术方案的有益效果为:采用本实施例提供的方案,通过网关均衡拦截组件的计算,可以很好的对应系统性能不会大幅度的改变系统,且系统消耗资源少。请求限流器将访问请求数量进行限流,使系统不至于负载过重,并方便网关请求模块的管理。
在另一实施例中,所述URL地址及用户信息确定所述灰度策略的白名单,包括:
对所述白名单用户进行预处理,包括用户身份认证以及用户权限鉴别;
当白名单用户通过预处理的操作时,将白名单用户进行重新注册作为新版本的实例,将所述重新注册的用户作为新的身份标识发送至所述前端版本管理模块中,并由前端版本管理模块转发至微服务版本管理模块进行灰度策略请求。
上述技术方案的工作原理为:本实施例采用的方案是,所述用户身份认证以及用户权项鉴别,首先按用户的id、设备类型,比如通过平时的埋点上报数得知用户的pv、uv、页面访问平均时长等数据,跟据用户活跃度让用户优先体验新版本,进而快速观察使用效果,然后按用户的地域、性别、年龄等形成用户画像,并通过用户的性别年龄做出新老版本的对比效果来看白名单用户在新版本的使用人群范围,做下一次白名单用户的参考。最后,根据白名单中的用户进行重新注册,用户则可以使用新版本。
上述技术方案的有益效果为:采用本实施例提供的方案,通过对白名单用户进行处理使灰度策略使用的效率更高,提高应用程序的迭代速度,为了应用程序更新提供了更好的验证条件,在一定程度上也给应用程序的开发提供了容错空间,并在灰度范围内大胆尝试创新,不断满足业务需求。
在另一实施例中,所述前端版本管理模块,包括:
数据库:用于接收由网关请求模块发来的转发请求,将所述转发请求中白名单用户的身份标识信息保存在数据库中;
版本信息管理单元:用于存放所述应用程序的各种版本信息,并在应用程序更信时,定期向客户端发送版本更新消息;
异常管理单元:将所述数据库中的身份标识信息进行统计,当转发请求数量大于设定值时,则设定为异常情况,并对转发请求进行拦截。
上述技术方案的工作原理为:本实施例采用的方案是,所述数据库用于存储白名单用户的身份标识信息,根据数据库中的身份标识信息进行数据统计,当应用程序更新时,则向客户端发出更新提醒,此时用户可以点击移动终端显示的灰度版本更新控件,从而触发版本更新的转发请求,并将转发请求传送至微服务器中,微服务器中包含用户白名单已经灰度标识,若所述转发请求的数量过多时,则所述异常管理单元判定当前为异常情况,对转发请求进行拦截。
在另一实施例中,参照图3,所述微服务版本管理模块,包括:
灰度分流子模块:将前端版本管理模块转发过来的信息进行灰度分流,所述灰度分流用于将所述灰度策略中白名单中的用户根据需求分流至不同版本的应用程序中;
灰度微服务器:用于接收由所述灰度分流中灰度策略匹配到的前端版本信息;请求微服务管理模块发布版本资源包,并解析所述白名单用户需求版本的资源包。
上述技术方案的工作原理为:本实施例采用的方案是,所述灰度分流是应用程序将客户端中的用户由旧版本过渡到新版本的过程,根据用户的需求,灰度策略选择白名单中的用户,并将白名单的用户分流至灰度微服务器中,所述灰度微服务器中包含新版本发布的资源包,通过在对应的微服务器中解析资源包,并转发至客户端中,使用户能够使用需求版本的灰度资源。
上述技术方案的有益效果为:采用本实施例提供的方案,可以更方便的管理白名单中的用户,将白名单用户的使用版本过渡至灰度服务器中,使用户快速体验新版本的使用。
在另一实施例中,所述版本兼容管理模块,包括:
从所述微服务器版本管理模块中获取客户端发来的访问请求为目标版本;
将所述目标版本中的信息格式以及有同一类型的所述信息格式作为第一目标格式;
所述灰度微服务器中的版本信息格式为第二目标格式;
将所述第一目标格式中的信息格式发送至灰度微服务器中,并转换成灰度服务器中所述第二目标格式对应的版本信息格式。
上述技术方案的工作原理为:本实施例采用的方案是,所述目标版本为当前用户使用的版本,所述目标版本的用户可以发送给其他版本的用户任意消息,包括文字消息、图片、视频等,所述同一类型为同一版本的信息格式。所述灰度服务器中版本信息则为新版本的信息格式,将所述第一目标格式转换为第二目标格式,也就是将旧版本的信息格式转换为与灰度微服务器中对应的格式信息,例如,当客户端在传送图片是,所述第一目标格式仅能传送jpg、png、jpeg格式,而第二目标格式中可发送图片格式包括jpg、png、tif、gif、pcx等,则将更新第一目标格式的发送方式,使其转换为第二目标格式的发送方式。
上述技术方案的有益效果为:采用本实施例提供的方案,解决了版本兼容的问题,而且避免了占用客户端的资源,也不会影响客户端的新功能的开发,很大程度上的提高了用户的体验。
在另一实施例中,一种灰度发布的智能分流引擎,其特征在于,还包括:
列表监测变更发送单元:获取应用程序版本列表信息,并监测所述版本信息列表是否发生变更;若发生变更,则按照预先设定的变更策略向客户端发送变更信息,提醒用户进行版本变更升级;
版本信息变更判断单元:定期获取客户端当前使用的版本信息,并与所述监测单元获取的应用程序版本列表信息进行比较,判断所述版本信息是否发生变更,并将变更结果返回至所述前端版本管理模块。
所述预先设定的变更策略,包括:
判定当前客户端使用的版本信息是否为旧版本;
若判定结果为是,则统计当前使用旧版本的用户数量,向所述微服务版本管理模块发出灰度分流请求;微服务器根据客户端发来的灰度分流请求中带有灰度标识的用户进行灰度分流;
若判定结果为否,则统计当前使用所述灰度服务器中版本的用户数量,使得请求访问灰度服务器中新版本用户数量与旧版本用户数量的比例达到预先设定的阈值。
上述技术方案的工作原理为:本实施例采用的方案是,通过监测单元跟踪用户的使用的版本信息,并向用户提醒版本更新信息,并通过半段单元判断当前版本信息是否发生改变,若微服务版本模块中出现新的版本,则产生版本变更信息,并将版本变更信息发送至前端版本管理模块,所述预先设定的策略为根据用户访问请求确定白名单的数量,并将白名单发送至灰度为服务器中。
根据灰度服务器的储存程度判断白名单的用户数量,公式如下:
其中,是第j个节点的灰度服务器使用率,Uj是第j个节点中灰度服务器已使用的内存空间,Kj是第j个节点的灰度服务器的总容量,系统有M个服务器,D可以衡量整个系统的稳定性,当D的值越大,则灰度服务器使用率的离散程度就越大,此时系统处于失衡状态,当D的值越小,系统子节点的灰度服务器使用率越低,稳定性就越强。
上述技术方案的有益效果为:采用本实施例提供的方案,通过获取相应版本信息列表,监测版本信息是否发生变化,可以实时监测版本更新状况,并及时发送给用户,通过判断当前用户的版本信息判断是否为旧版本,并及时进行灰度分流,增加了用户使用体验。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种用于灰度发布的智能分流引擎,其特征在于,包括:
灰度发布插件:通过用户分流的方式,平滑过渡不同版本的应用程序;
网关请求模块:所述应用程序向前端发出转发请求,前端将版本信息转发到指定版本的微服务器中;
前端版本管理模块:用于管理应用程序中不同版本的前端版本信息;
微服务版本管理模块:将所述前端版本信息映射到独立部署的对应版本的微服务器中;
版本兼容管理模块:用于将应用程序中的新版本兼容旧版本。
2.根据权利要求1所述的一种灰度发布的智能分流引擎,其特征在于,所述灰度发布插件,包括:
灰度匹配组件:接收来自客户端发来的访问请求,查看所述访问请求中是否带有灰度标识,若含有灰度标识,则对客户端发来的访问请求施行灰度策略匹配;
所述访问请求中包含当前用户使用的应用程序版本信息列表;
获取所述访问请求中与应用程序版本信息有对应关系的版本配置信息;
根据所述应用程序版本信息列表与有对应关系的版本配置信息匹配所述前端版本管理模块中的前端版本信息。
3.根据权利要求2所述的一种灰度发布的智能分流引擎,其特征在于,所述灰度策略匹配,包括:
获取客户端发来的带有灰度标识的访问请求,并提取所述应用程序版本信息列表、版本配置信息;
根据所述应用程序版本信息列表、版本配置信息判断当前用户是否符合带有灰度标识的条件,并得出判断结果;
所述带有灰度标识的条件为当前应用程序版本不为最新版本;
若所述判断结果符合客户端带有灰度标识的条件,则将判断结果返回至客户端,对客户端施行灰度策略匹配。
4.根据权利要求1所述的一种灰度发布的智能分流引擎,其特征在于,所述网关请求模块,包括:
网关均衡拦截组件:拦截客户端发来的访问请求,并查看所述访问请求是否带有灰度标识,若有,则从灰度标识中获取客户端访问URL地址,若没有则对访问请求进行拦截;
请求转发器:根据所述URL地址以及用户信息确定所述灰度策略的白名单,并将所述白名单转发至所述微服务版本管理模块内部预设的微服务中;
请求限流器:当所述客户端的访问请求数量过大时,则在网关中按照所述微服务版本管理模块能够接收的预设速度进行放行请求。
5.根据权利要求4所述的一种灰度发布的智能分流引擎,其特征在于,所述URL地址以及用户信息确定所述灰度策略的白名单,包括:
对所述白名单用户进行预处理,包括用户身份认证以及用户权限鉴别;
当白名单用户通过预处理的操作时,将白名单用户进行重新注册作为新版本的实例,将所述重新注册的用户作为新的身份标识发送至所述前端版本管理模块中,并由前端版本管理模块转发至微服务版本管理模块进行灰度策略请求。
6.根据权利要求1所述的一种灰度发布的智能分流引擎,其特征在于,所述前端版本管理模块,包括:
数据库:用于接收由网关请求模块发来的转发请求,将所述转发请求中白名单用户的身份标识信息保存在数据库中;
版本信息管理单元:用于存放所述应用程序的各种版本信息,并在应用程序更信时,定期向客户端发送版本更新消息;
异常管理单元:将所述数据库中的身份标识信息进行统计,当转发请求数量大于设定值时,则设定为异常情况,并对转发请求进行拦截。
7.根据权利要求1所述的一种灰度发布的智能分流引擎,其特征在于,所述微服务版本管理模块,包括:
灰度分流子模块:根据前端版本管理模块转发过来的信息将用户进行灰度分流,所述灰度分流用于将所述灰度策略中白名单中的用户根据需求分流至不同版本的应用程序中;
灰度微服务器:用于接收由所述灰度分流中灰度策略匹配到的前端版本信息;请求微服务管理模块发布版本资源包,并解析所述白名单用户需求版本的资源包。
8.根据权利要求1所述的一种灰度发布的智能分流引擎,其特征在于,所述版本兼容管理模块,包括:
从所述微服务器版本管理模块中获取客户端发来的访问请求为目标版本;
将所述目标版本中的信息格式以及有同一类型的所述信息格式作为第一目标格式;
所述灰度微服务器中的版本信息格式为第二目标格式;
将所述第一目标格式中的信息格式发送至灰度微服务器中,并转换成灰度服务器中所述第二目标格式对应的版本信息格式。
9.根据权利要求1所述的一种灰度发布的智能分流引擎,其特征在于,还包括:
列表监测变更发送单元:获取应用程序版本列表信息,并监测所述版本信息列表是否发生变更;若发生变更,则按照预先设定的变更策略向客户端发送变更信息,提醒用户进行版本变更升级;
版本信息变更判断单元:定期获取客户端当前使用的版本信息,并与所述列表监测变更发送单元获取的应用程序版本列表信息进行比较,判断所述版本信息是否发生变更,并将变更结果返回至所述前端版本管理模块。
10.根据权利要求9所述的一种灰度发布的智能分流引擎,其特征在于,所述预先设定的变更策略,包括:
判定当前客户端使用的版本信息是否为旧版本;
若判定结果为是,则统计当前使用旧版本的用户数量,向所述微服务版本管理模块发出灰度分流请求;微服务器根据客户端发来的灰度分流请求中带有灰度标识的用户进行灰度分流;
若判定结果为否,则统计当前使用所述灰度服务器中版本的用户数量,使得请求访问灰度服务器中新版本用户数量与旧版本用户数量的比例达到预先设定的阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211315890.6A CN115665162A (zh) | 2022-10-26 | 2022-10-26 | 一种用于灰度发布的智能分流引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211315890.6A CN115665162A (zh) | 2022-10-26 | 2022-10-26 | 一种用于灰度发布的智能分流引擎 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115665162A true CN115665162A (zh) | 2023-01-31 |
Family
ID=84991925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211315890.6A Pending CN115665162A (zh) | 2022-10-26 | 2022-10-26 | 一种用于灰度发布的智能分流引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115665162A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032991A (zh) * | 2023-10-08 | 2023-11-10 | 宁波银行股份有限公司 | 一种灰度发布方法、装置及系统 |
CN117170718A (zh) * | 2023-11-02 | 2023-12-05 | 绿城科技产业服务集团有限公司 | 基于微服务架构的灰度发布方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099988A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和系统 |
CN108319468A (zh) * | 2017-01-16 | 2018-07-24 | 北京京东尚科信息技术有限公司 | 灰度发布方法、装置、系统及电子设备 |
CN111488159A (zh) * | 2019-12-20 | 2020-08-04 | 杭州当虹科技股份有限公司 | 一种能够动态配置的灰度发布方法 |
-
2022
- 2022-10-26 CN CN202211315890.6A patent/CN115665162A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099988A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和系统 |
CN108319468A (zh) * | 2017-01-16 | 2018-07-24 | 北京京东尚科信息技术有限公司 | 灰度发布方法、装置、系统及电子设备 |
CN111488159A (zh) * | 2019-12-20 | 2020-08-04 | 杭州当虹科技股份有限公司 | 一种能够动态配置的灰度发布方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032991A (zh) * | 2023-10-08 | 2023-11-10 | 宁波银行股份有限公司 | 一种灰度发布方法、装置及系统 |
CN117032991B (zh) * | 2023-10-08 | 2024-01-26 | 宁波银行股份有限公司 | 一种灰度发布方法、装置及系统 |
CN117170718A (zh) * | 2023-11-02 | 2023-12-05 | 绿城科技产业服务集团有限公司 | 基于微服务架构的灰度发布方法、装置及电子设备 |
CN117170718B (zh) * | 2023-11-02 | 2024-02-02 | 绿城科技产业服务集团有限公司 | 基于微服务架构的灰度发布方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10374955B2 (en) | Managing network computing components utilizing request routing | |
CN115665162A (zh) | 一种用于灰度发布的智能分流引擎 | |
US7991908B2 (en) | Media transcoding in multimedia delivery services | |
EP3156911B1 (en) | Content management | |
US7636363B2 (en) | Adaptive QoS system and method | |
US20030172163A1 (en) | Server load balancing system, server load balancing device, and content management device | |
US7844708B2 (en) | Method and apparatus for load sharing and data distribution in servers | |
US8433768B1 (en) | Embedded model interaction within attack projection framework of information system | |
CN108932277A (zh) | 一种网页加载方法、网页加载系统和服务器 | |
US7739364B2 (en) | Method and apparatus for dynamically reconfiguring a server system | |
CN112688922A (zh) | 数据传输方法、系统、设备及介质 | |
CN113177179B (zh) | 数据请求连接管理方法、装置、设备及存储介质 | |
CN111431955A (zh) | 流式数据处理系统及方法 | |
CN111600929A (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN110995890B (zh) | 域名请求的调度方法及装置 | |
US8307112B2 (en) | Mediated information flow | |
CN106060155A (zh) | P2p资源共享的方法及装置 | |
US11086822B1 (en) | Application-based compression | |
US9185059B1 (en) | Management of journaling destinations | |
EP2680539B1 (en) | Hierarchical publish/subscribe system | |
CN117527775A (zh) | 超文本传输协议http请求响应方法、装置和设备 | |
CN117834956A (zh) | 一种资源分发回源的直播视频加速系统及方法 | |
CN116074325A (zh) | 一种动态配置请求策略的方法 | |
CN111371573A (zh) | 消息交互方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |