CN112199288A - 分布式测试环境部署方法及系统 - Google Patents

分布式测试环境部署方法及系统 Download PDF

Info

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
Application number
CN202011108218.0A
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.)
Shenzhen Wuyu Technology Co ltd
Original Assignee
Shenzhen Wuyu 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 Shenzhen Wuyu Technology Co ltd filed Critical Shenzhen Wuyu Technology Co ltd
Priority to CN202011108218.0A priority Critical patent/CN112199288A/zh
Publication of CN112199288A publication Critical patent/CN112199288A/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

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所述的分布式测试环境部署系统,其特征在于:
所述系统进一步包括测试环境布设模块,用以布设测试环境所涉及的微服务。
CN202011108218.0A 2020-10-16 2020-10-16 分布式测试环境部署方法及系统 Pending CN112199288A (zh)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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
CN110389900B (zh) 一种分布式数据库集群测试方法、装置及存储介质
CN107438107B (zh) 一种微服务架构中后台服务的调用方法及装置
CN112463211A (zh) 一种兼容多种开发架构的系统架构改造方法及系统架构
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN109039751A (zh) 配置路由的方法、装置、计算机设备和存储介质
US20200371902A1 (en) Systems and methods for software regression detection
GB2587432A (en) System and method for software architecture redesign
CN113076253A (zh) 一种测试方法和测试装置
CN110688305B (zh) 测试环境同步方法、装置、介质、电子设备
CN111404757A (zh) 基于云的跨网络应用集成系统
CN110888800A (zh) 服务交互功能的测试方法、装置、存储介质及测试系统
CN113434283B (zh) 服务调度方法及装置、服务器、计算机可读存储介质
CN113849361A (zh) 测试服务节点的方法、装置、设备以及存储介质
CN113468272A (zh) 一种报文转发方法及装置
CN111339055B (zh) 大数据集群扩容方法及装置
CN111767126A (zh) 分布式批量处理的系统和方法
CN101141767A (zh) 一种网络管理平台测试系统及方法
CN111858297A (zh) 线上仿真测试环境构建方法、装置和计算机可读存储介质
CN112199288A (zh) 分布式测试环境部署方法及系统
CN111382953A (zh) 一种动态流程生成方法和装置
CN116450165A (zh) 一种快速搭建环境及部署程序的方法、系统、终端及存储介质
CN114237706A (zh) 一种基于微服务和DevOps的技术中台构建方法
CN113326052A (zh) 业务组件的升级方法、装置、计算机设备和存储介质
CN113986723A (zh) 一种mock测试方法及其相关设备
Chen et al. A dynamic module deployment framework for M2M platforms

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