CN112199288A - 分布式测试环境部署方法及系统 - Google Patents
分布式测试环境部署方法及系统 Download PDFInfo
- Publication number
- CN112199288A CN112199288A CN202011108218.0A CN202011108218A CN112199288A CN 112199288 A CN112199288 A CN 112199288A CN 202011108218 A CN202011108218 A CN 202011108218A CN 112199288 A CN112199288 A CN 112199288A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- test environment
- diversion
- center
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明揭示了一种分布式测试环境部署方法及系统,所述部署方法包括:测试环境具有其所涉及的微服务;基于测试环境的新需求,修改其所涉及的微服务;采用导流中心对所有微服务间的调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心将消息导流至原有测试环境中。本发明提出的分布式测试环境部署方法及系统,可提升部署效率,节省测试环境部署的成本。
Description
技术领域
本发明属于软件测试技术领域,涉及一种测试环境部署方法,尤其涉及一种分布式测试环境部署方法及系统。
背景技术
对于大型的分布式环境来说,一般微服务数量少则几十个,多则成百上千;对于一套完整的测试环境部署,存在如下缺陷:(1)众多的微服务部署工作量大,操作繁琐;(2)一套完整的环境占用大量软硬件资源,成本高。
在一些公司内部,通常存在多个项目并行开发的情况;在一些典型的互联网公司,需求迭代快,并且开发项目多,需要的测试环境也多,并且要求需求启动时能快速部署新的环境。
现有测试环境的部署通常采用如下方式:
1、采用容器化的自动化部署方式。例如,通过Jekins等脚本化部署,解决部署工作量大,操作繁琐的问题;但是每个微服务加上容器,一套测试环境耗费的软硬件资源仍非常巨大。多项目并行情况下,环境成本非常高。
2、微缩测试环境的方式。通过对业务建模拆分,将测试环境拆成适用于不同业务场景的多种模式,每种模式下所需要的微服务有限,测试对应的业务时只需要部署对应微服务,有利于降低成本。但是该方法带来了大量Mock微服务开发与维护工作量,增加了部署和管理的复杂部,降低了环境的稳定性。
有鉴于此,如今迫切需要设计一种新的测试环境部署方式,以便克服现有测试环境部署方式存在的上述至少部分缺陷。
发明内容
本发明提供一种分布式测试环境部署方法及系统,可提升部署效率,节省测试环境部署的成本。
为解决上述技术问题,根据本发明的一个方面,采用如下技术方案:
一种分布式测试环境部署方法,所述部署方法包括:
设定一套稳定独立的测试环境,称为原测试环境,在此环境部署所有业务对应的微服务且保证可用;
对测试环境设定对应的微服务,使得测试环境具有其所涉及的微服务;基于测试环境的新需求,修改其所涉及的微服务;
采用导流中心对所有微服务间的调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心将消息导流至原有测试环境中;
在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
根据本发明的另一个方面,采用如下技术方案:一种分布式测试环境部署方法,所述部署方法包括:
测试环境具有其所涉及的微服务;基于测试环境的新需求,修改其所涉及的微服务;
采用导流中心对所有微服务间的调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心将消息导流至原有测试环境中。
作为本发明的一种实施方式,所述部署方法进一步包括:在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
作为本发明的一种实施方式,所述部署方法进一步包括:对测试环境设定对应的微服务,使得测试环境具有其所涉及的微服务。
根据本发明的又一个方面,采用如下技术方案:一种分布式测试环境部署系统,所述系统包括:
测试环境布设模块,用以布设测试环境所涉及的微服务;
微服务修改模块,用以基于测试环境的新需求,修改其所涉及的微服务;
导流中心,用以对所有微服务间调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心仍将消息导流至原有测试环境中;
业务标识码生成模块,用以在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
根据本发明的又一个方面,采用如下技术方案:一种分布式测试环境部署系统,所述系统包括:
微服务修改模块,用以基于测试环境的新需求,修改其所涉及的微服务;
导流中心,用以对所有微服务间调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心仍将消息导流至原有测试环境中。
作为本发明的一种实施方式,所述系统还包括业务标识码生成模块,用以在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
作为本发明的一种实施方式,所述系统进一步包括测试环境布设模块,用以布设测试环境所涉及的微服务。
本发明的有益效果在于:本发明提出的分布式测试环境部署方法及系统,可提升部署效率,节省测试环境部署的成本。
在本发明方法中,对于新需求的测试,只需要部署有限的修改所涉及系统,不需要一套新的完整环境,极大的节省成本。
本发明通过设定全局业务标识码机制,可以方便将所有消息、业务归属到指定的用户或交易上,方便大规模微服务环境中消息及数据识别与分析,提升问题处理效率;
此外,本发明通过设定导流中心的机制,可以基于用户、交易的业务特征精确控制微服务的调用关系,提升测试灵活性和效率;实现例如A用户的交易发生在旧服务,B用户的交易发生在新服务;或借款业务发生在旧服务,还款业务发生成新服务之类。
附图说明
图1为本发明一实施例中分布式测试环境部署方法的流程图。
图2为本发明一实施例中分布式测试环境部署方法的流程图。
图3为本发明一实施例中分布式测试环境部署系统的组成示意图。
图4为本发明一实施例中分布式测试环境部署系统的组成示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
该部分的描述只针对几个典型的实施例,本发明并不仅局限于实施例描述的范围。相同或相近的现有技术手段与实施例中的一些技术特征进行相互替换也在本发明描述和保护的范围内。
说明书中的“连接”既包含直接连接,也包含间接连接。
本发明揭示了一种分布式测试环境部署方法,图1为本发明一实施例中分布式测试环境部署方法的流程图;请参阅图1,所述部署方法包括:
【步骤S1】测试环境具有其所涉及的微服务;基于测试环境的新需求,修改其所涉及的微服务;
【步骤S2】采用导流中心对所有微服务间的调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心将消息导流至原有测试环境中。
在本发明的一实施例中,所述部署方法进一步包括:在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
在本发明的一实施例中,所述部署方法进一步包括:对测试环境设定对应的微服务,使得测试环境具有其所涉及的微服务。
图2为本发明一实施例中分布式测试环境部署方法的流程图;请参阅图2,在本发明的一实施例中,所述部署方法包括:
【步骤S0】对测试环境设定对应的微服务,使得测试环境具有其所涉及的微服务。
在一实施例中,设定一套稳定独立的测试环境,称为原测试环境,在此环境部署所有业务对应的微服务且保证可用。
【步骤S1】测试环境具有其所涉及的微服务;基于测试环境的新需求,修改其所涉及的微服务;
【步骤S2】采用导流中心对所有微服务间的调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心将消息导流至原有测试环境中。
【步骤S3】在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
在本发明的一种使用场景中,所述分布式测试环境部署方法包括如下步骤:
(1)原测试环境部署在虚拟机A上,在A上部署了所有微服务a1,a2,a3,a4;
(2)业务请求链路为a1-a2-a3-a4;
(3)两个业务需求m1,m2,且同时修改a4,由于上线时间不一致,故不能合并开发;
(4)申请了两套新环境B和C分别部署了微服务a4B和a4C;
(5)由于a1,a2,a3无需变更故共用;
(6)在导流中心配置13号段用户从原测试环境发给微服务a4请求转至a4B;
(7)在导流中心配置15号段用户从原测试环境发给微服务a4请求转至a4C;
(8)13号段从a3发出来的请求遍历导流中心配置,将请求转至a4B;
(9)15号段从a3发出来的请求遍历导流中心配置,将请求转至a4C。
本发明还揭示一种分布式测试环境部署系统,图3为本发明一实施例中分布式测试环境部署系统的组成示意图;请参阅图3,所述系统包括:微服务修改模块1、导流中心2。
微服务修改模块1用以基于测试环境的新需求,修改其所涉及的微服务。导流中心2用以对所有微服务间调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心仍将消息导流至原有测试环境中。
图4为本发明一实施例中分布式测试环境部署系统的组成示意图;请参阅图4,在本发明的一实施例中,所述系统还包括业务标识码生成模块3,用以在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心2能识别所述业务标识码,实现导流中心2对特定用户、特定交易的导流识别。在一实施例中,所述系统进一步包括测试环境布设模块4,用以布设测试环境所涉及的微服务。
在本发明的一实施例中,所述系统进一步包括测试环境设定模块,用以设定一套稳定独立的测试环境,称为原测试环境,在此环境部署所有业务对应的微服务且保证可用。
综上所述,本发明提出的分布式测试环境部署方法及系统,可提升部署效率,节省测试环境部署的成本。
在本发明方法中,对于新需求的测试,只需要部署有限的修改所涉及系统,不需要一套新的完整环境,极大的节省成本。
本发明通过设定全局业务标识码机制,可以方便将所有消息、业务归属到指定的用户或交易上,方便大规模微服务环境中消息及数据识别与分析,提升问题处理效率;
此外,本发明通过设定导流中心的机制,可以基于用户、交易的业务特征精确控制微服务的调用关系,提升测试灵活性和效率;实现例如A用户的交易发生在旧服务,B用户的交易发生在新服务;或借款业务发生在旧服务,还款业务发生成新服务之类。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。实施例中所涉及的效果或优点可因多种因素干扰而可能不能在实施例中体现,对于效果或优点的描述不用于对实施例进行限制。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (8)
1.一种分布式测试环境部署方法,其特征在于,所述部署方法包括:
设定一套稳定独立的测试环境,作为原测试环境,在此环境部署所有业务对应的微服务且保证可用;
对新测试环境设定对应的微服务,使得新测试环境具有本次需求所涉及的微服务;基于业务需求,修改其所涉及的微服务;
采用导流中心对所有微服务间的调用进行导流;所述导流中心配置有导流条件;使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心将消息导流至原有测试环境中;
在业务流程入口生成全局的唯一业务标识码,标识码为用户唯一标识或者为某个业务唯一标识,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
2.一种分布式测试环境部署方法,其特征在于,所述部署方法包括:
测试环境具有其所涉及的微服务;基于测试环境的新需求,修改其所涉及的微服务;
采用导流中心对所有微服务间的调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心将消息导流至原有测试环境中。
3.根据权利要求2所述的分布式测试环境部署方法,其特征在于:
所述部署方法进一步包括:在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
4.根据权利要求2所述的分布式测试环境部署方法,其特征在于:
所述部署方法进一步包括:对测试环境设定对应的微服务,使得测试环境具有其所涉及的微服务。
5.一种分布式测试环境部署系统,其特征在于,所述系统包括:
测试环境布设模块,用以布设测试环境所涉及的微服务;
微服务修改模块,用以基于测试环境的新需求,修改其所涉及的微服务;
导流中心,用以对所有微服务间调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心仍将消息导流至原有测试环境中;
业务标识码生成模块,用以在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
6.一种分布式测试环境部署系统,其特征在于,所述系统包括:
微服务修改模块,用以基于测试环境的新需求,修改其所涉及的微服务;
导流中心,用以对所有微服务间调用进行导流;在导流中心配置导流条件,使符合导流条件的业务流程发生在新部署的需要测试的微服务上,满足测试要求;对于未被修改的微服务的调用和不符合导流条件的调用,导流中心仍将消息导流至原有测试环境中。
7.根据权利要求6所述的分布式测试环境部署系统,其特征在于:
所述系统还包括业务标识码生成模块,用以在业务流程入口生成全局的唯一业务标识码,对各业务进行标识;对应业务在对各微服务进行调用流转时,带有对应的业务标识码;所述导流中心能识别所述业务标识码,实现导流中心对特定用户、特定交易的导流识别。
8.根据权利要求6所述的分布式测试环境部署系统,其特征在于:
所述系统进一步包括测试环境布设模块,用以布设测试环境所涉及的微服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011108218.0A CN112199288A (zh) | 2020-10-16 | 2020-10-16 | 分布式测试环境部署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011108218.0A CN112199288A (zh) | 2020-10-16 | 2020-10-16 | 分布式测试环境部署方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112199288A true CN112199288A (zh) | 2021-01-08 |
Family
ID=74009163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011108218.0A Pending CN112199288A (zh) | 2020-10-16 | 2020-10-16 | 分布式测试环境部署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199288A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979508A (zh) * | 2017-11-24 | 2018-05-01 | 深圳乐信软件技术有限公司 | 微服务测试方法及装置 |
CN108038051A (zh) * | 2017-11-03 | 2018-05-15 | 深圳市牛鼎丰科技有限公司 | 微服务的发布方法、装置、计算机设备和存储介质 |
CN109150978A (zh) * | 2018-07-24 | 2019-01-04 | 北京百度网讯科技有限公司 | 调试微服务的方法和装置 |
CN109947547A (zh) * | 2019-03-14 | 2019-06-28 | 科学出版社成都有限责任公司 | 基于云计算的微服务构架方法 |
CN110647469A (zh) * | 2019-09-24 | 2020-01-03 | 广州荔支网络技术有限公司 | 一种微服务的测试方法、装置、计算机设备和存储介质 |
WO2020061533A1 (en) * | 2018-09-21 | 2020-03-26 | Pivotal Software, Inc. | Platform-integrated ide |
-
2020
- 2020-10-16 CN CN202011108218.0A patent/CN112199288A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038051A (zh) * | 2017-11-03 | 2018-05-15 | 深圳市牛鼎丰科技有限公司 | 微服务的发布方法、装置、计算机设备和存储介质 |
CN107979508A (zh) * | 2017-11-24 | 2018-05-01 | 深圳乐信软件技术有限公司 | 微服务测试方法及装置 |
CN109150978A (zh) * | 2018-07-24 | 2019-01-04 | 北京百度网讯科技有限公司 | 调试微服务的方法和装置 |
WO2020061533A1 (en) * | 2018-09-21 | 2020-03-26 | Pivotal Software, Inc. | Platform-integrated ide |
CN109947547A (zh) * | 2019-03-14 | 2019-06-28 | 科学出版社成都有限责任公司 | 基于云计算的微服务构架方法 |
CN110647469A (zh) * | 2019-09-24 | 2020-01-03 | 广州荔支网络技术有限公司 | 一种微服务的测试方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000348B (zh) | 服务灰度发布的控制方法、装置、计算机设备 | |
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
CN107438107B (zh) | 一种微服务架构中后台服务的调用方法及装置 | |
EP2796996B1 (en) | Cloud infrastructure based management system and method for performing maintenance and deployment for application system | |
CN103298016A (zh) | 移动终端的测试系统 | |
CN112463211A (zh) | 一种兼容多种开发架构的系统架构改造方法及系统架构 | |
GB2587432A (en) | System and method for software architecture redesign | |
CN106953746A (zh) | 集群节点升级系统及方法 | |
CN109039751A (zh) | 配置路由的方法、装置、计算机设备和存储介质 | |
US20200371902A1 (en) | Systems and methods for software regression detection | |
CN110688305B (zh) | 测试环境同步方法、装置、介质、电子设备 | |
CN113849361B (zh) | 测试服务节点的方法、装置、设备以及存储介质 | |
CN113076253A (zh) | 一种测试方法和测试装置 | |
CN110737425A (zh) | 一种计费平台系统的应用程序的建立方法及装置 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN113468272A (zh) | 一种报文转发方法及装置 | |
CN111339055B (zh) | 大数据集群扩容方法及装置 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN112199288A (zh) | 分布式测试环境部署方法及系统 | |
CN111858297A (zh) | 线上仿真测试环境构建方法、装置和计算机可读存储介质 | |
CN111382953A (zh) | 一种动态流程生成方法和装置 | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、系统、终端及存储介质 | |
CN114237706A (zh) | 一种基于微服务和DevOps的技术中台构建方法 | |
CN113986723A (zh) | 一种mock测试方法及其相关设备 | |
CN113326052A (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 |