[发明专利]多版本并行环境设计方法及搭建系统在审
申请号: | 202310251682.2 | 申请日: | 2023-03-15 |
公开(公告)号: | CN116243930A | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 熊彬;董超;黄超 | 申请(专利权)人: | 上海基煜基金销售有限公司 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06F8/71 |
代理公司: | 上海锻创知识产权代理有限公司 31448 | 代理人: | 祁春倪 |
地址: | 200001 上海市黄*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 版本 并行 环境设计 方法 搭建 系统 | ||
1.一种多版本并行环境设计方法,其特征在于,包括:
步骤S1:将所有服务的实例部署到一套物理环境中,服务名以迭代版本号+原服务名进行区分;
步骤S2:部署完成后,建立并行环境隔离策略,包括服务路由隔离、中间件隔离以及数据库隔离。
2.根据权利要求1所述的多版本并行环境设计方法,其特征在于,所述步骤S1包括:将实例都部署在一套dev环境上,多个服务都根据master部署对应的实例,此为主环境;
此后每一次需求,即为一个新的迭代,但每一次迭代不需要部署全链路涉及的全部服务,只需新部署需要改动的服务。
3.根据权利要求2所述的多版本并行环境设计方法,其特征在于,所述服务路由隔离解决不变更应用复用的问题,通过自定义负载均衡策略,如果对应并行版本实例存在,由对应并行版本实例处理,如果对应并行版本不存在,则由主环境来处理,具体包括:
请求入口:需要请求header中塞入并行版本号request-version字段,并由此开始一路向下全链路透传;
网关:拦截所有的请求,取出请求头中的并行版本号,根据并行版本号请求到对应版本的服务实例;
服务间调用:服务之间的调用需进行自定义负载,根据并行版本存在由并行版本消费,并行版本不存在由主环境消费的原则,将并行版本号一直向下传递。
4.根据权利要求3所述的多版本并行环境设计方法,其特征在于,所述网关使用的是spring cloud gateway;通过实现GlobalFilter接口,重写filter方法来实现对请求进行拦截,取出请求header中的并行版本号字段,然后通过实现ReactorServiceInstanceLoadBalancer接口,重写choose方法来实现自定义负载均衡。
5.根据权利要求3所述的多版本并行环境设计方法,其特征在于,所述网关还包括:将并行版本号和对应的服务实例对应上,需在实例的元数据中塞入并行版本号;
通过配置文件的方式将并行版本号塞入实例的元数据,在进行负载均衡的时候,请求header中的版本号和获取的所有在线实例中的并行版本号进行匹配,如果对应并行版本号的实例在线,则请求到对应并行版本实例,如果对应并行版本号的实例不存在,则请求到主环境。
6.根据权利要求3所述的多版本并行环境设计方法,其特征在于,所述服务间调用中将并行版本号向下传递包括:通过实现RequestInterceptor,重写apply方法,将并行版本号放进RequestTemplate的header中实现向下透传。
7.根据权利要求3所述的多版本并行环境设计方法,其特征在于,所述中间件隔离主要降低多需求并行时的干扰,具体包括:
1)每个迭代的实例都有一份自己的配置,实现配置的隔离;
2)当并行版本实例存在时,并行版本的消息只被并行版本的实例消费,只有当并行版本实例不存在时才被主环境消费。
8.根据权利要求7所述的多版本并行环境设计方法,其特征在于,将并行版本号在生产者端放进消息的properties中,消费者从消息上下文的properties中获取,实现并行版本号的透传。
9.据权利要求7所述的多版本并行环境设计方法,其特征在于,采用切换consumerGroup的方式实现控制某些消费者消费,某些不消费;
同一个topic下,多个consumeGroup下的消费进度是各自维护,互不干扰的,生产者往对应topic发送的消息,被每一个consumerGroup消费一次,对应并行版本号的消费者实例正常消费,其他消费者实例进行空消费;对应并行版本号的消费者在线,则由对应并行版本消费者实例消费,否则由主环境代为消费;
其中,通过queryTopicConsumeByWho和getClientConnection方法判断对应consumerGroup是否有实例在线。
10.一种多版本并行环境搭建系统,其特征在于,包括:
模块M1:将所有服务的实例部署到一套物理环境中,服务名以迭代版本号+原服务名进行区分;
模块M2:部署完成后,建立并行环境隔离策略,包括服务路由隔离、中间件隔离以及数据库隔离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海基煜基金销售有限公司,未经上海基煜基金销售有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310251682.2/1.html,转载请声明来源钻瓜专利网。