CN115237818A - 一种基于全链路标识实现多环境复用的方法及系统 - Google Patents

一种基于全链路标识实现多环境复用的方法及系统 Download PDF

Info

Publication number
CN115237818A
CN115237818A CN202211169349.9A CN202211169349A CN115237818A CN 115237818 A CN115237818 A CN 115237818A CN 202211169349 A CN202211169349 A CN 202211169349A CN 115237818 A CN115237818 A CN 115237818A
Authority
CN
China
Prior art keywords
request
environment
rule
release
gray
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
Application number
CN202211169349.9A
Other languages
English (en)
Inventor
鲍钟峻
刘启铨
何永进
刘林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Whale Cloud Technology Co Ltd
Original Assignee
Whale Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Whale Cloud Technology Co Ltd filed Critical Whale Cloud Technology Co Ltd
Priority to CN202211169349.9A priority Critical patent/CN115237818A/zh
Publication of CN115237818A publication Critical patent/CN115237818A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于全链路标识实现多环境复用的方法及系统,该基于全链路标识实现多环境复用的方法包括以下步骤:S1、测试环境管理门户提供用户及用户权限管理;S2、用户在获取权限管理后利用灰度发布管理实现灰度发布规则定义、发布管控及发布失效管理功能;S3、利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署;S4、利用灰度发布引擎、业务网关及自动化部署测试环境集群,实现标准测试环境及特性环境。本发明能够使得测试环境管理更加规范和透明,实现数字化管理,开发人员自测拥有独立的私有环境,减少本地搭建上下游基础服务。

Description

一种基于全链路标识实现多环境复用的方法及系统
技术领域
本发明涉及测试环境管理技术领域,具体来说,涉及一种基于全链路标识实现多环境复用的方法及系统。
背景技术
在软件的开发与交付过程中,会涉及到多种环境的管理,如开发环境、测试环境、预发布环境、生产环境等。其中测试环境又存在多种类型,常见的测试环境有系统集成测试环境、用户验收测试环境等。这不仅体现了软件的交付生命周期,也间接反映出整个软件团队的组织结构。系统微服务化之后,随着业务的剥离,系统复杂度逐步提升,早期依靠人工维护测试环境的模式已经无法满足新技术对测试环境的需求,环境搭建的效率急需改善。
目前业界在软件研发与项目交付过程中,测试环境的创建和维护是一个很大的痛点。经过多年的改进,在IaaS和PaaS层的环境自动获取都取得了一定的进展,但SaaS层还没能彻底解决,资源占用还是比较多的。具体存在以下问题:
1、测试环境多,运维成本高:目前基于微服务、容器化技术,不少企业在软件开发与交付中引入了Devops技术,甚至研发了敏捷开发平台和配置了CI/CD流水线,虽然提高了软件版本集成与发布的效率,但是并未解决测试环境多的问题,运维成本仍然过高,目前正常的软件研发流程中可能有多套测试环境:比如集成测试环境(开发环境)、QA环境(测试环境)、预生产环境,生产环境。每套环境都是完全独立部署在不同的主机,使用不同的数据库。一套环境搭建时间大概一周左右,包括了研发、测试、平台、集成等角色的参与,总的工作量大概3~4人周。四套环境都有测试团队统一管理,主要是人工的维护方式,效率较低;
2、环境不稳定,持续集成相互影响:目前较多公司由于公用一个集成环境,不同团队代码更新都会触发持续集成流水线的执行并更新测试环境,环境更新会频繁的重启系统,影响在途测试,并且开发本地因为缺乏上下游服务,所以开发自测通常是直接调用集成环境(开发环境)服务,这种开发直连的方式经常会导致公共环境不可用;
3、开发本地服务即便注册到集成环境的注册中心,无法确保上游服务可以精准的调用本地服务(由于容器网络和开发环境网络不通,网络层也不具备条件);
4、持续集成测试效率低:因为是公用一个集成测试环境,为了避免不同的流程产生交叉影响,无法并行构建,平均单次持续构建耗时在半小时以上,效率非常低。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种基于全链路标识实现多环境复用的方法及系统,以克服现有相关技术所存在的上述技术问题。
为此,本发明采用的具体技术方案如下:
根据本发明的一个方面,提供了一种基于全链路标识实现多环境复用的方法,包括以下步骤:
S1、测试环境管理门户提供用户及用户权限管理;
S2、用户在获取权限管理后利用灰度发布管理实现灰度发布规则定义、发布管控及发布失效管理功能;
S3、利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署;
S4、利用灰度发布引擎、业务网关及自动化部署测试环境集群,实现标准测试环境及特性环境。
进一步的,所述利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署包括以下步骤:
S31、用户在可视化页面配置灰度规则,并根据HTTP请求头规则选择对应的请求头参数,并将相对应的值作为预设条件;
S32、请求体将转发至自身的请求制定路由条件规则的内容推送至缓存服务器;
S33、对测试请求进行标记并发起请求,并且在请求的头部设置相对应的请求头参数;
S34、根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发。
进一步的,所述测试环境集群,实现标准测试环境及特性环境包括以下步骤:
S41、请求下发到下游服务时,若请求中满足用户配置的灰度规则信息,则将该环境请求路由到特性环境中的服务;
S42、若特性环境没有与目标一致的服务,则环境请求路由将投递到标准环境;
S43、标准环境最终存储至数据库。
进一步的,所述根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发包括以下步骤:
S341、若请求是HTTP类型,则请求经过HTTP分流引擎,HTTP分流引擎会从缓存服务器获取到灰度规则信息,并根据规则进行请求分发,下发请求中依旧携带对应的信息;
S342、若请求是RPC类型,则发起请求经过RPC分流引擎,RPC分流引擎会从缓存服务器获取到灰度规则信息,并根据规则进行请求分发,下发请求中依旧携带对应的信息。
进一步的,所述HTTP分流引擎包括以下步骤:
用户创建一个灰度规则,将路由规则同步到缓存服务器;
Lua引擎从缓存服务器加载规则;
根据不同的客户端发起HTTP请求时,能力开放平台根据客户请求的参数,将请求传递给Nginx服务器;
Nginx服务器从Lua引擎中读取路由规则,并根据规则匹配,将请求分发给不同的环境。
进一步的,所述RPC分流引擎的包括以下步骤:
用户创建一个灰度规则,将路由规则同步到缓存服务器;
Dubbo引擎从缓存服务器加载规则;
根据不同的客户端发起Dubbo请求时,能力开放平台根据客户请求的参数,将请求传递给LoadBalance服务器;
LoadBalance服务器从Dubbo引擎中读取路由规则,并根据规则匹配,将请求分发给不同的环境。
进一步的,所述环境请求路由支持HTTP分流引擎与RPC分流引擎,并完全复用灰度发布产品的灰度引擎。
根据本发明的另一个方面,提供了一种基于全链路标识实现多环境复用的系统,该系统包括用户管理模块、灰度发布管理模块、灰度规则处理模块及环境测试模块;
所述用户管理模块,用于提供用户及用户权限管理;
所述灰度发布管理模块,用于用户在获取权限管理后利用灰度发布管理实现灰度发布规则定义、发布管控及发布失效管理功能;
所述灰度规则处理模块,用于利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署;
所述环境测试模块,用于利用灰度发布引擎、业务网关及自动化部署测试环境集群,实现标准测试环境及特性环境。
进一步的,所述灰度规则处理模块包括灰度规则配置模块、路由条件规则处理模块、测试请求处理模块及灰度规则下发模块;
所述灰度规则配置模块,用于用户在可视化页面配置灰度规则,并根据HTTP请求头规则选择对应的请求头参数,并将相对应的值作为预设条件;
所述路由条件规则处理模块,用于请求体将转发至自身的请求制定路由条件规则的内容推送至缓存服务器;
所述测试请求处理模块,用于对测试请求进行标记并发起请求,并且在请求的头部设置相对应的请求头参数;
所述灰度规则下发模块,用于根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发。
进一步的,所述环境测试模块包括特性环境模块、标准环境模块及数据库模块;
所述特性环境模块,用于请求下发到下游服务时,若请求中满足用户配置的灰度规则信息,则将该环境请求路由到特性环境中的服务;
所述标准环境模块,用于若特性环境没有与目标一致的服务,则环境请求路由将投递到标准环境;
所述数据库模块,用于标准环境最终存储至数据库。
本发明的有益效果为:
1、本发明能够使得测试环境管理更加规范和透明,实现数字化管理,开发人员自测拥有独立的私有环境,减少本地搭建上下游基础服务,并且开发自测效率提升70%,在长流程业务中,优势则更加明显,版本质量也得到同步提升。
2、本发明能够使得测试环境以及预发环境的稳定性得到保障,测试环境不会受到开发自测或者多人并发导致的问题,测试人员效率得以提升。
3、本发明能够避免重复搭建多套基础环境,减少重复工作量,并且能够规避不同流程之间的交叉影响,提升持续集成构建效率,测试环境所需硬件资源会得到较大幅度的下降,节省硬件成本40%。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种基于全链路标识实现多环境复用的方法中流程示意图;
图2是根据本发明实施例的一种基于全链路标识实现多环境复用的方法中标准化测试环境管理平台功能架构图;
图3是根据本发明实施例的一种基于全链路标识实现多环境复用的方法中针对HTTP分流引擎的工作原理;
图4是根据本发明实施例的一种基于全链路标识实现多环境复用的方法中针对RPC分流引擎的工作原理;
图5是根据本发明实施例的一种基于全链路标识实现多环境复用的方法中GIT分支管理图;
图6是根据本发明实施例的一种基于全链路标识实现多环境复用的方法中特性环境链路数据流示意图;
图7是根据本发明实施例的一种基于全链路标识实现多环境复用的系统的原理框图。
图中:
1、用户管理模块;2、灰度发布管理模块;3、灰度规则处理模块;4、环境测试模块。
具体实施方式
为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
根据本发明的实施例,提供了一种基于全链路标识实现多环境复用的方法及系统。该方法及系统需要维护一套稳定的基础环境(类比GIT的Master分支),当需要创建新的测试环境时,只需要针对新环境和基础环境的差异来部署“增量”的部分(类比GIT的特性分支),除了“增量”部分,其余部分和基础环境实现公用,两套环境的流量转发通过软件分流的方式进行隔离,互不产生影响,对于用户来说感受如同完全私有的独立环境。
为了节约环境机器成本,可通过对业务无入侵流量隔离的方式使得环境之间可以得到复用,让环境高效使用,满足多项目,多团队对测试环境的需求,建立环境标准体系。简单来说,就是实现“测试环境即服务TEaaS”, 该思路参考了GIT的分支管理策略。
现结合附图和具体实施方式对本发明进一步说明,如图1-图7所示,根据本发明实施例的基于全链路标识实现多环境复用的方法,该基于全链路标识实现多环境复用的方法包括以下步骤:
S1、测试环境管理门户提供用户及用户权限管理;
S2、用户在获取权限管理后利用灰度发布管理实现灰度发布规则定义、发布管控及发布失效管理功能;
S3、利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署;
其中,所述利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署包括以下步骤:
S31、用户在可视化页面配置灰度规则,并根据HTTP请求头规则选择对应的请求头参数,并将相对应的值作为预设条件;具体的,上述预设条件是对应的值为123;
S32、请求体将转发至自身的请求制定路由条件规则的内容推送至缓存服务器;
S33、对测试请求进行标记并发起请求,并且在请求的头部设置相对应的请求头参数;具体的,上述相对应的请求头参数为appId=123;
S34、根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发;
其中,所述根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发包括以下步骤:
S341、若请求是HTTP类型,则请求经过HTTP分流引擎,HTTP分流引擎会从缓存服务器获取到灰度规则信息,并根据规则进行请求分发,下发请求中依旧携带对应的信息;
其中,所述HTTP分流引擎包括以下步骤:
用户创建一个灰度规则,将路由规则同步到缓存服务器;
Lua引擎从缓存服务器加载规则;
根据不同的客户端发起HTTP请求时,能力开放平台根据客户请求的参数,将请求传递给Nginx服务器;
Nginx服务器从Lua引擎中读取路由规则,并根据规则匹配,将请求分发给不同的环境;具体的,appid=123的请求会被分发给灰度环境,appid=456的请求会被分发给正式环境;
S342、若请求是RPC类型,则发起请求经过RPC分流引擎,RPC分流引擎会从缓存服务器获取到灰度规则信息,并根据规则进行请求分发,下发请求中依旧携带对应的信息;
其中,所述RPC分流引擎的包括以下步骤:
用户创建一个灰度规则,将路由规则同步到缓存服务器;
Dubbo引擎从缓存服务器加载规则;
根据不同的客户端发起Dubbo请求时,能力开放平台根据客户请求的参数,将请求传递给LoadBalance服务器;
LoadBalance服务器从Dubbo引擎中读取路由规则,并根据规则匹配,将请求分发给不同的环境;具体的,appid=123的请求会被分发给灰度环境,appid=456的请求会被分发给正式环境;
S4、利用灰度发布引擎、业务网关及自动化部署测试环境集群,实现标准测试环境及特性环境;
其中,所述测试环境集群,实现标准测试环境及特性环境包括以下步骤:
S41、请求下发到下游服务时,若请求中满足用户配置的灰度规则信息,则将该环境请求路由到特性环境中的服务;
S42、若特性环境没有与目标一致的服务,则环境请求路由将投递到标准环境;
S43、标准环境最终存储至数据库;
其中,所述环境请求路由支持HTTP分流引擎与RPC分流引擎,并完全复用灰度发布产品的灰度引擎。
具体的,所述灰度发布表示(又名金丝雀发布)在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/Btesting,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,若用户对B没有什么反对意见,将逐步扩大范围,把所有用户都迁移到B上面。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
具体的,所述业务网关表示微服务应用分布式部署对外提供访问服务的反向代理服务器。业务网关提供固定的访问地址来接受外部的连接请求,然后根据负载均衡策略将请求转发给微服务应用,将微服务应用请求的结果返回给外部请求连接的客户端。
具体的,所述Devops表示一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
具体的,所述SaaS表示软件即服务(全称:Software as a Service),亦可称为“按需即用软件”(即“一经要求,即可使用”),它是一种软件交付模式。在这种交付模式中,软件仅需通过网络,不须经过传统的安装步骤即可使用,软件及其相关的数据集中托管于云端服务。用户通常使用精简客户端,一般即经由网页浏览器来访问、访问软件即服务。SaaS最大的特色在于软件本身并没有被下载到用户的硬盘,而是存储在提供商的云端或者服务器。相较于传统软件需要花钱购买和下载,软件即服务只需要用户租用软件,在线使用,不但大大减少了用户购买风险,也无需下载软件本身,无设备要求的限制。
具体的,所述PaaS表示平台即服务(全称:platform as a service)是一种云计算服务,提供运算平台与解决方案服务。在云计算的典型层级中,PaaS层介于软件即服务与基础设施即服务之间。PaaS提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling),开发者只需要关注自己的业务逻辑,不需要关注底层。
具体的,所述IaaS表示基础设施即服务(全称:Infrastructure as a Service)是提供消费者处理、存储、网路以及各种基础运算资源,用以部署与执行作业系统或应用程式等各种软体。
具体的,所述CI/CD表示持续集成和持续交付或持续部署的组合实践,CI/CD通过在应用程序的构建、测试和部署中实施自动化,在开发和运营团队之间架起了桥梁。
具体的,所述基础环境表示一个全套的服务运行环境,它通常运行一个相对稳定的服务版本。
具体的,所述特性环境表示虚拟的环境。从表面上看,每个特性环境都是一套独立完整的测试环境,由一系列服务组成集群,而实际上,除了个别当前使用者想要测试的服务,其余服务都是通过路由系统和消息中间件虚拟出来的,指向公共基础环境的相应服务。由于在通常的开发流程中,大多数环境都从发布分支部署,但是这种开发者自用的虚拟环境部署来自代码特性分支的版本,故可称为“特性环境”。
如图7所示,根据本发明的另一个方面,提供了一种基于全链路标识实现多环境复用的系统,该系统包括用户管理模块1、灰度发布管理模块2、灰度规则处理模块3及环境测试模块4;
所述用户管理模块1,用于提供用户及用户权限管理;
所述灰度发布管理模块2,用于用户在获取权限管理后利用灰度发布管理实现灰度发布规则定义、发布管控及发布失效管理功能;
所述灰度规则处理模块3,用于利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署;
所述环境测试模块4,用于利用灰度发布引擎、业务网关及自动化部署测试环境集群,实现标准测试环境及特性环境。
其中,所述灰度规则处理模块包括灰度规则配置模块、路由条件规则处理模块、测试请求处理模块及灰度规则下发模块;
所述灰度规则配置模块,用于用户在可视化页面配置灰度规则,并根据HTTP请求头规则选择对应的请求头参数,并将相对应的值作为预设条件;
所述路由条件规则处理模块,用于请求体将转发至自身的请求制定路由条件规则的内容推送至缓存服务器;
所述测试请求处理模块,用于对测试请求进行标记并发起请求,并且在请求的头部设置相对应的请求头参数;
所述灰度规则下发模块,用于根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发。
其中,所述环境测试模块包括特性环境模块、标准环境模块及数据库模块;
所述特性环境模块,用于请求下发到下游服务时,若请求中满足用户配置的灰度规则信息,则将该环境请求路由到特性环境中的服务;
所述标准环境模块,用于特性环境没有与目标一致的服务,则环境请求路由将投递到标准环境;
所述数据库模块,用于标准环境最终存储至数据库。
综上所述,借助于本发明的上述技术方案,本发明能够使得测试环境管理更加规范和透明,实现数字化管理,开发人员自测拥有独立的私有环境,减少本地搭建上下游基础服务,并且开发自测效率提升70%,在长流程业务中,优势则更加明显,版本质量也得到同步提升;本发明能够使得测试环境以及预发环境的稳定性得到保障,测试环境不会受到开发自测或者多人并发导致的问题,测试人员效率得以提升;本发明能够避免重复搭建多套基础环境,减少重复工作量,并且能够规避不同流程之间的交叉影响,提升持续集成构建效率,测试环境所需硬件资源会得到较大幅度的下降,节省硬件成本40%。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于全链路标识实现多环境复用的方法,其特征在于,该基于全链路标识实现多环境复用的方法包括以下步骤:
S1、测试环境管理门户提供用户及用户权限管理;
S2、用户在获取权限管理后利用灰度发布管理实现灰度发布规则定义、发布管控及发布失效管理功能;
S3、利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署;
S4、利用灰度发布引擎、业务网关及自动化部署测试环境集群,实现标准测试环境及特性环境。
2.根据权利要求1所述的一种基于全链路标识实现多环境复用的方法,其特征在于,所述利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署包括以下步骤:
S31、用户在可视化页面配置灰度规则,并根据HTTP请求头规则选择对应的请求头参数,并将相对应的值作为预设条件;
S32、请求体将转发至自身的请求制定路由条件规则的内容推送至缓存服务器;
S33、对测试请求进行标记并发起请求,并且在请求的头部设置相对应的请求头参数;
S34、根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发。
3.根据权利要求2所述的一种基于全链路标识实现多环境复用的方法,其特征在于,所述测试环境集群,实现标准测试环境及特性环境包括以下步骤:
S41、请求下发到下游服务时,若请求中满足用户配置的灰度规则信息,则将该环境请求路由到特性环境中的服务;
S42、若特性环境没有与目标一致的服务,则环境请求路由将投递到标准环境;
S43、标准环境最终存储至数据库。
4.根据权利要求2所述的一种基于全链路标识实现多环境复用的方法,其特征在于,所述根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发包括以下步骤:
S341、若请求是HTTP类型,则请求经过HTTP分流引擎,HTTP分流引擎会从缓存服务器获取到灰度规则信息,并根据规则进行请求分发,下发请求中依旧携带对应的信息;
S342、若请求是RPC类型,则发起请求经过RPC分流引擎,RPC分流引擎会从缓存服务器获取到灰度规则信息,并根据规则进行请求分发,下发请求中依旧携带对应的信息。
5.根据权利要求4所述的一种基于全链路标识实现多环境复用的方法,其特征在于,所述HTTP分流引擎包括以下步骤:
用户创建一个灰度规则,将路由规则同步到缓存服务器;
Lua引擎从缓存服务器加载规则;
根据不同的客户端发起HTTP请求时,能力开放平台根据客户请求的参数,将请求传递给Nginx服务器;
Nginx服务器从Lua引擎中读取路由规则,并根据规则匹配,将请求分发给不同的环境。
6.根据权利要求4所述的一种基于全链路标识实现多环境复用的方法,其特征在于,所述RPC分流引擎的包括以下步骤:
用户创建一个灰度规则,将路由规则同步到缓存服务器;
Dubbo引擎从缓存服务器加载规则;
根据不同的客户端发起Dubbo请求时,能力开放平台根据客户请求的参数,将请求传递给LoadBalance服务器;
LoadBalance服务器从Dubbo引擎中读取路由规则,并根据规则匹配,将请求分发给不同的环境。
7.根据权利要求3所述的一种基于全链路标识实现多环境复用的方法,其特征在于,所述环境请求路由支持HTTP分流引擎与RPC分流引擎,并完全复用灰度发布产品的灰度引擎。
8.一种基于全链路标识实现多环境复用的系统,用于实现权利要求1-7中任一项所述的基于全链路标识实现多环境复用的方法,其特征在于,该系统包括用户管理模块、灰度发布管理模块、灰度规则处理模块及环境测试模块;
所述用户管理模块,用于提供用户及用户权限管理;
所述灰度发布管理模块,用于用户在获取权限管理后利用灰度发布管理实现灰度发布规则定义、发布管控及发布失效管理功能;
所述灰度规则处理模块,用于利用灰度发布规则定义、发布管控及发布失效管理功能实现灰度发布引擎、业务网关及自动化部署;
所述环境测试模块,用于利用灰度发布引擎、业务网关及自动化部署测试环境集群,实现标准测试环境及特性环境。
9.根据权利要求8所述的一种基于全链路标识实现多环境复用的系统,其特征在于,所述灰度规则处理模块包括灰度规则配置模块、路由条件规则处理模块、测试请求处理模块及灰度规则下发模块;
所述灰度规则配置模块,用于用户在可视化页面配置灰度规则,并根据HTTP请求头规则选择对应的请求头参数,并将相对应的值作为预设条件;
所述路由条件规则处理模块,用于请求体将转发至自身的请求制定路由条件规则的内容推送至缓存服务器;
所述测试请求处理模块,用于对测试请求进行标记并发起请求,并且在请求的头部设置相对应的请求头参数;
所述灰度规则下发模块,用于根据不同的请求类型,请求经过对应的分流引擎,分流引擎从缓存服务器获取到灰度规则信息,并根据灰度规则信息进行请求下发。
10.根据权利要求8所述的一种基于全链路标识实现多环境复用的系统,其特征在于,所述环境测试模块包括特性环境模块、标准环境模块及数据库模块;
所述特性环境模块,用于请求下发到下游服务时,若请求中满足用户配置的灰度规则信息,则将该环境请求路由到特性环境中的服务;
所述标准环境模块,用于若特性环境没有与目标一致的服务,则环境请求路由将投递到标准环境;
所述数据库模块,用于标准环境最终存储至数据库。
CN202211169349.9A 2022-09-26 2022-09-26 一种基于全链路标识实现多环境复用的方法及系统 Pending CN115237818A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211169349.9A CN115237818A (zh) 2022-09-26 2022-09-26 一种基于全链路标识实现多环境复用的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211169349.9A CN115237818A (zh) 2022-09-26 2022-09-26 一种基于全链路标识实现多环境复用的方法及系统

Publications (1)

Publication Number Publication Date
CN115237818A true CN115237818A (zh) 2022-10-25

Family

ID=83667208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211169349.9A Pending CN115237818A (zh) 2022-09-26 2022-09-26 一种基于全链路标识实现多环境复用的方法及系统

Country Status (1)

Country Link
CN (1) CN115237818A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116578335A (zh) * 2023-07-13 2023-08-11 建信金融科技有限责任公司 灰度发布系统、方法、设备、介质及产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848092A (zh) * 2018-06-20 2018-11-20 中国联合网络通信集团有限公司 基于调用链的微服务灰度发布的处理方法及装置
CN112822272A (zh) * 2021-01-08 2021-05-18 上海理想信息产业(集团)有限公司 微服务灰度发布方法及装置、计算机设备及存储介质
CN113301168A (zh) * 2021-07-23 2021-08-24 浩鲸云计算科技股份有限公司 一种动态策略灰度发布引擎实现请求精准分流方法及系统
WO2022001209A1 (zh) * 2020-06-30 2022-01-06 深圳前海微众银行股份有限公司 作业执行方法、装置、系统及计算机可读存储介质
CN114615192A (zh) * 2022-02-16 2022-06-10 杭州信公小安信息科技有限公司 一种分布式全链路灰度发布方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848092A (zh) * 2018-06-20 2018-11-20 中国联合网络通信集团有限公司 基于调用链的微服务灰度发布的处理方法及装置
WO2022001209A1 (zh) * 2020-06-30 2022-01-06 深圳前海微众银行股份有限公司 作业执行方法、装置、系统及计算机可读存储介质
CN112822272A (zh) * 2021-01-08 2021-05-18 上海理想信息产业(集团)有限公司 微服务灰度发布方法及装置、计算机设备及存储介质
CN113301168A (zh) * 2021-07-23 2021-08-24 浩鲸云计算科技股份有限公司 一种动态策略灰度发布引擎实现请求精准分流方法及系统
CN114615192A (zh) * 2022-02-16 2022-06-10 杭州信公小安信息科技有限公司 一种分布式全链路灰度发布方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116578335A (zh) * 2023-07-13 2023-08-11 建信金融科技有限责任公司 灰度发布系统、方法、设备、介质及产品
CN116578335B (zh) * 2023-07-13 2023-10-03 建信金融科技有限责任公司 灰度发布系统、方法、设备、介质及产品

Similar Documents

Publication Publication Date Title
CN108989389B (zh) 一种建立智能合约微服务化的方法
US8612406B1 (en) Sharing business data across networked applications
JP6231020B2 (ja) クラウドコンピューティング環境におけるプロセスの調整
CN116166280A (zh) 区块链开放平台及区块链应用的发布方法
CN102782650A (zh) 用于管理分布式环境中系统管理代理的配置的方法与系统
CN105531688A (zh) 提供作为其它服务的资源的服务
US20230054760A1 (en) Deployment strategies for continuous delivery of software rtifacts in cloud platforms
US10324701B1 (en) Rapid deployment of computing instances
US11349958B1 (en) Deployment of software releases on datacenters configured in cloud platforms
CN111240732A (zh) 分布式微服务的发布方法、装置、设备及存储介质
CN112288423A (zh) 一种分布式框架的聚合支付方法和系统
US20220326940A1 (en) Service Upgrade Method, Apparatus, and System
CN115237818A (zh) 一种基于全链路标识实现多环境复用的方法及系统
US11392361B2 (en) Software release orchestration for continuous delivery of features in a cloud platform based data center
CN114244717A (zh) 虚拟网卡资源的配置方法、装置、计算机设备及介质
CN110297653A (zh) 一种容器服务升级的方法
CN114840222A (zh) 基于esop系统的灰度发布方法及相关设备
EP4004711A1 (en) Configuration change control for computing environments
CN114064062B (zh) 基于Kubernetes平台和负载均衡组件的缺省灰度发布方法和装置
Sandobalin et al. ARGON: A model-driven infrastructure provisioning tool
CN109840094A (zh) 一种数据库的部署方法、装置及存储设备
CN114615268A (zh) 基于Kubernetes集群的服务网络、监控节点、容器节点及设备
CN114615320A (zh) 服务治理方法、装置、电子设备及计算机可读存储介质
CN113691583A (zh) 一种基于蓝绿部署的多媒体服务系统、方法
US20130144590A1 (en) Configuration management

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20221025