[发明专利]多版本并行环境设计方法及搭建系统在审
申请号: | 202310251682.2 | 申请日: | 2023-03-15 |
公开(公告)号: | CN116243930A | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 熊彬;董超;黄超 | 申请(专利权)人: | 上海基煜基金销售有限公司 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06F8/71 |
代理公司: | 上海锻创知识产权代理有限公司 31448 | 代理人: | 祁春倪 |
地址: | 200001 上海市黄*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 版本 并行 环境设计 方法 搭建 系统 | ||
本发明提供了一种多版本并行环境设计方法及搭建系统,涉及计算机技术领域,包括:步骤S1:将所有服务的实例部署到一套物理环境中,服务名以迭代版本号+原服务名进行区分;步骤S2:部署完成后,建立并行环境隔离策略,包括服务路由隔离、中间件隔离以及数据库隔离。该发明能够充分利用资源,扩容缩容灵活无上线,维护成本低,开发效率高;重复利用未变更资源,使其充分复用,通过相关自定义的隔离策略来避免资源复用带来的干扰,既不影响业务的正常运转,还能够提高资源利用率。
技术领域
本发明涉及计算机技术领域,具体地,涉及一种多版本并行环境设计方法及搭建系统。
背景技术
在微服务架构模式下,随着业务的不断发展和团队规模的日渐壮大,微服务数量不断膨胀,当前的依靠物理隔离的多环境部署方式维护成本与日俱增,渐渐无法满足需求。图1为最初的依靠物理隔离的多环境部署方式,开发和测试环境各自有三套完全独立的环境,从网关、中间件到数据库都是完全独立的一套。开发如果有并行的开发需求时,提前商量好占用不同的开发环境,测试也是如此。
这种部署方式在应用数量不多、团队规模一般的情况下,可以比较正常的运转。但是随着服务数量的不断增加,团队规模的日渐壮大,很多问题就开始慢慢暴露出来了。比如:1)开发和测试为了保证环境的一致,每次开发和提测,需要花较多时间在环境准备上,非常影响项目的迭代效率;2)团队规模大了以后,多需求并行的情况增多,争抢环境严重;3)完全依靠物理隔离的方式来实现多需求并行,维护成本高,且资源利用率非常低。
综上所述,环境治理的需求也就应运而生。当前的场景,急需一套设计完善的多版本并行环境来解决上述的问题。
发明内容
针对现有技术中的缺陷,本发明提供一种多版本并行环境设计方法及搭建系统。
根据本发明提供的一种多版本并行环境设计方法及搭建系统,所述方案如下:
第一方面,提供了一种多版本并行环境设计方法,所述方法包括:
步骤S1:将所有服务的实例部署到一套物理环境中,服务名以迭代版本号+原服务名进行区分;
步骤S2:部署完成后,建立并行环境隔离策略,包括服务路由隔离、中间件隔离以及数据库隔离。
优选地,所述步骤S1包括:将实例都部署在一套dev环境上,多个服务都根据master部署对应的实例,此为主环境;
此后每一次需求,即为一个新的迭代,但每一次迭代不需要部署全链路涉及的全部服务,只需新部署需要改动的服务。
优选地,所述服务路由隔离解决不变更应用复用的问题,通过自定义负载均衡策略,如果对应并行版本实例存在,由对应并行版本实例处理,如果对应并行版本不存在,则由主环境来处理,具体包括:
请求入口:需要请求header中塞入并行版本号request-version字段,并由此开始一路向下全链路透传;
网关:拦截所有的请求,取出请求头中的并行版本号,根据并行版本号请求到对应版本的服务实例;
服务间调用:服务之间的调用需进行自定义负载,根据并行版本存在由并行版本消费,并行版本不存在由主环境消费的原则,将并行版本号一直向下传递。
优选地,所述网关使用的是spring cloud gateway;通过实现GlobalFilter接口,重写filter方法来实现对请求进行拦截,取出请求header中的并行版本号字段,然后通过实现ReactorServiceInstanceLoadBalancer接口,重写choose方法来实现自定义负载均衡。
优选地,所述网关还包括:将并行版本号和对应的服务实例对应上,需在实例的元数据中塞入并行版本号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海基煜基金销售有限公司,未经上海基煜基金销售有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310251682.2/2.html,转载请声明来源钻瓜专利网。