CN111930548A - 一种多集群分布式服务的故障模拟系统 - Google Patents

一种多集群分布式服务的故障模拟系统 Download PDF

Info

Publication number
CN111930548A
CN111930548A CN202010806677.XA CN202010806677A CN111930548A CN 111930548 A CN111930548 A CN 111930548A CN 202010806677 A CN202010806677 A CN 202010806677A CN 111930548 A CN111930548 A CN 111930548A
Authority
CN
China
Prior art keywords
service
fault
preset
server
simulation module
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.)
Granted
Application number
CN202010806677.XA
Other languages
English (en)
Other versions
CN111930548B (zh
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.)
Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Original Assignee
Hunan Happly Sunshine Interactive Entertainment Media 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 Hunan Happly Sunshine Interactive Entertainment Media Co Ltd filed Critical Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Priority to CN202010806677.XA priority Critical patent/CN111930548B/zh
Publication of CN111930548A publication Critical patent/CN111930548A/zh
Application granted granted Critical
Publication of CN111930548B publication Critical patent/CN111930548B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种多集群分布式服务的故障模拟系统,包括:后台系统、业务故障模拟模块和服务器故障模拟模块;业务故障模拟模块从后台系统事先配置的预设业务故障配置信息中,获取所属应用的业务故障配置信息;在接收到满足第一条件的业务请求的情况下,模拟产生预设故障类型的故障;第一条件包括:包含的用户标识和操作类型与所属应用的业务故障配置信息中一个用户的用户标识和操作类型相同;服务器故障模拟模块在接收到后台系统发送的故障启动指令的情况下,模拟产生故障启动指令指示的故障类型的故障。本申请为服务出现真实故障的情况下,服务不影响用户体验提供了条件。

Description

一种多集群分布式服务的故障模拟系统
技术领域
本申请涉及互联网领域,特别是涉及以一种多集群分布式服务的故障模拟系统。
背景技术
随着互联网技术的不断发展,高可用高并发高性能的架构,成为互联网行业的标准,高可用架构一般多集群分布式部署,由于依赖较多,复杂度高,因此,任何环节都可能发生不可预知的故障。具体的,在服务器集群中,通过多集群分布式架构部署的服务,在发生不可预知的故障时,需要保证服务持续运行的稳定性,同时不能影响用户的体验。
因此,如何在服务出现真实故障的情况下,服务不影响用户体验,是凾待解决的问题。
发明内容
本申请提供了一种多集群分布式服务的故障模拟系统,为在服务出现真实故障的情况下,服务不影响用户体验提供条件。
为了实现上述目的,本申请提供了以下技术方案:
本申请提供了一种多集群分布式服务的故障模拟系统,包括:后台系统、业务故障模拟模块和服务器故障模拟模块;所述多集群分布式服务的待模拟故障的各个预设应用中,分别部署业务故障模拟模块;服务器集群中待模拟故障的各个预设服务器中,分别部署服务器故障模拟模块;
所述业务故障模拟模块,用于从所述后台系统事先配置的预设业务故障配置信息中,获取所属应用的业务故障配置信息;所述所属应用的业务故障配置信息包括:预设的用户标识、所属应用待模拟故障的预设操作类型,以及所述预设操作类型对应的预设故障类型;
所述业务故障模拟模块,还用于在接收到满足第一条件的业务请求的情况下,模拟产生所述预设故障类型的故障;所述第一条件包括:包含的用户标识和操作类型与所述所属应用的业务故障配置信息中一个用户的用户标识和操作类型相同;
所述服务器故障模拟模块,用于在接收到所述后台系统发送的故障启动指令的情况下,模拟产生所述故障启动指令指示的故障类型的故障;
所述后台系统,用于采集所述多集群分布式服务在所述业务故障模拟模块和所述服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果。
可选的,还包括:网关;
所述网关,用于获取所述后台系统中事先配置的预设的业务故障配置信息;所述业务故障配置信息包括:所述预设的用户标识、待模拟故障的预设应用、各个预设应用分别对应的待模拟故障的预设操作类型,以及各个所述预设操作类型分别对应的预设故障类型;
所述网关,还用于在接收到满足第二条件的用户请求的情况下,向所述用户请求中添加目标标识,得到目标用户请求;所述第二条件包括:包含的用户标识存在于所述预设的用户标识中;
所述网关,还用于将所述目标用户请求,发送给目标服务器;所述目标服务器为所述目标用户请求指示的服务器;
所述第一条件具体为:包含目标标识,并且,包含的操作类型为目标操作类型;所述目标操作类型为所述所属应用的业务故障配置信息中目标用户标识对应的操作类型;所述目标用户标识为所述目标用户请求中的用户标识。
可选的,还包括:代理服务;
所述代理服务,用于获取后台系统中事先配置的预设的业务故障配置信息;
所述网关,用于获取所述后台系统中事先配置的预设的业务故障配置信息,包括:
所述网关,具体用于接收所述代理服务推送的所述预设的业务故障配置信息;
所述业务故障模拟模块,用于从所述后台系统事先配置的预设的业务故障配置信息中,获取所述所属应用的业务故障配置信息,包括:
所述业务故障模拟模块,具体用于从所述代理服务的接口,查询所述所属应用的业务故障配置信息。
可选的,所述业务故障模拟模块,用于从所述代理服务的接口,查询所述所属应用的业务故障配置信息,包括:
所述业务故障模拟模块,具体用于通过轮询所述代理服务的接口,查询所述所属应用的业务故障配置信息。
可选的,还包括:智能监控系统;
所述智能监控系统,用于获取所述服务器集群中目标服务器的性能指标;所述目标服务器为所述用户请求待访问的服务器;
所述后台系统,用于采集所述多集群分布式服务在所述业务故障模拟模块和所述服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果,包括:
所述后台系统,具体用于通过调用所述智能监控系统,获取所述业务故障模拟模块和所述服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果。
可选的,所述业务故障模拟模块内部封装有Hystrix;所述业务故障模拟模块在接收到满足第一条件的业务请求的情况下,模拟产生所述预设故障类型的故障的具体方式,包括:
依赖所述Hystrix的熔断降级产生。
可选的,所述预设的用户标识包括:预设用户登录预设客户端的登录标识,和/或,所述预设用户的设备标识。
可选的,所述服务器故障模块,还用于在接收到所述后台系统发送的停止故障指令的情况下,停止产生模拟故障。
可选的,还包括:大数据服务,用于从日志数据中,识别包含所述预设的用户标识的日志数据。
可选的,所述代理服务,用于获取后台系统中事先配置的预设的业务故障配置信息,包括:
所述代理服务,具体用于轮询所述后台系统的预设接口,获取所述预设的业务故障配置信息。
本申请所述的多集群分布式服务的故障模拟系统,在多集群分布式服务的待模拟故障的各个预设应用中,分别部署业务故障模拟模块;服务器集群中待模拟故障的各个预设服务器中,分别部署服务器故障模拟模块。
其中,业务故障模拟模块在接收到用户标识和操作类型与所属应用的业务故障配置信息中,一个用户的用户标识和操作类型相同的业务请求的情况下,模拟产生所述预设故障类型的故障,即模拟了业务故障模块所属的应用产生了模拟的故障。服务器故障模拟模块,用于在接收到后台系统发送的故障启动指令的情况下,模拟产生故障启动指令指示的故障类型的故障,即模拟所属服务器产生了模拟的故障。
后台系统采集多集群分布式服务在业务故障模拟模块和服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果,该响应结果反映了呈现在预设客户端的结果,进而,以服务出现真实故障时预设客户端的呈现结果不影响用户体验为目标,依据收集的结果对多集群分布式服务进行优化。进而,为服务出现真实故障的情况下,服务不影响用户体验提供了条件。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例公开的多集群分布式服务的故障模拟系统与客户端、网关和服务器集群中各个服务器的关系示意图;
图3为本申请实施例公开的一种业务故障的模拟过程示意图;
图4为本申请实施例公开的一种服务器故障的模拟过程示意图;
图5为本申请实施例公开的一种多集群分布式服务的故障模拟系统的工作原理示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种多集群分布式服务的故障模拟系统的应用场景示意图,包括:客户端、网关、服务器集群和多集群分布式服务的故障模拟系统。其中,在服务器集群上部署有多集群分布式服务。该多集群分布式服务用于响应客户端发送的用户请求。
多集群分布式服务的故障模拟系统,用于模拟多集群分布式服务中的预设业务环节的故障,或者,模拟服务器集群中的预设服务器出现的故障。该多集群分布式服务的故障模拟系统,还用于收集多集群分布式服务在模拟的故障下,对客户端发送的用户请求的响应结果。
图2为在本申请实施例提供的多集群分布式服务的故障模拟系统与客户端、网关和服务器集群中各个服务器的关系示意图。在图2中,虚线部分表示多集群分布式服务的故障模拟系统,该多集群分布式服务的故障模拟系统可以包括:后台系统、代理服务、业务故障模拟模块、服务器故障模拟模块和标记模块。
其中,业务故障模拟模块分别配置在多集群分布式服务的各个预设应用中,其中,预设应用指:实际中需要模拟故障的应用,并且,每个预设应用中分别配置业务故障模拟模块,配置在任一预设应用中的业务故障模块,用于模拟该预设应用在预设操作类型下的预设故障。
其中,服务器故障模拟模块,配置在服务器集群中的预设服务器中,其中,每个预设服务器中分别配置服务器故障模拟模块,对于任意一个预设服务器中配置的服务器故障模块,用于模拟该预设服务器的预设故障。
其中,标记模块配置在网关中。
在本申请实施例中,多集群分布式服务的故障模拟系统正式工作之前的准备条件可以包括:
在后台系统中配置故障信息,其中,故障信息可以包括:业务故障配置信息和服务器故障配置信息。
其中,业务故障配置信息可以包括:各个预设用户的配置信息,其中,为了描述方便,以任意一个用户的配置信息为例进行介绍。其中,任一用户的配置信息包括:用户标识、待模拟故障的预设应用、各个预设应用分别对应的待模拟故障的预设操作类型,以及各个预设操作类型分别对应的预设故障标识。
其中,预设用户指:参与故障模拟的预设用户。其中,预设用户为使用客户端的全部用户中的一部分用户,其中,预设用户具体为全部用户中的哪些用户,需要业务人员根据实际情况进行确定,本实施例不作限定。
其中,用户标识包括:用户登录目标客户端的登录标识,和/或,用户的设备标识,其中,设备标识是客户端根据一定规则针对该用户安装有客户端的设备生成的设备标识。
例如,预设应用为服务中的列表服务、播放服务、评论服务和弹幕服务等。预设应用的具体内容需要根据实际情况,由业务人员进行确定,本实施例不作限定。其中,列表服务的待模拟故障的操作类型可以包括两种,具体为:从DB中读取用户历史的观看记录,以及从内存中读取用户历史的观看记录。针对列表服务中的两种操作类型分别对应的故障类型可以包括两种,具体为:立即读取失败和读取延迟失败。其中,为列表服务配置的故障类型标识可以为“FollowCommand”。
在本实施例中,服务器故障配置信息可以包括:预设服务器的标识和各个预设服务器分别对应的预设故障。其中,预设服务器指:待模拟故障的服务器。预设服务器的标识可以为预设服务器的IP地址。各个预设服务器分别对应的预设故障可以指:CPU满载和网络延迟等。
在本实施例中,在各个预设服务器中分别配置了服务器故障模块,服务器故障模拟模块中已配置好所需执行的指令,用于模拟预设的服务器产生预设故障。
在本申请实施例中,多集群分布式服务的业务故障的模拟过程,与服务器故障的模拟过程不同,以下分别进行介绍。
图3为本申请实施例提供的多集群分布式服务的业务故障的模拟过程,可以包括以下步骤:
S301、后台系统将实现配置的预设的业务故障配置信息推送给代理服务。
S302、代理服务将事先配置的预设的业务故障配置信息推送给网关,并为各个业务故障模拟模块提供接口。
S303、网关在接收到用户请求的情况下,在该用户请求中的用户标识,与预设的业务故障配置信息中的一个用户的用户标识匹配的情况下,在用户请求中添加目标标识,得到目标用户请求。
在本步骤中,目标标识便于提醒业务故障模拟模块该用户请求中包括预设的用户标识,以方便业务故障模块进行处理。
在本步骤中,可以在用户请求的Header中添加目标标识。其中,目标标识的具体内容可以根据实际情况确定,本实施例中不对目标标识的具体内容作限定。
在本实施例中,为了描述方便,将添加目标标识的用户请求,称为目标用户请求。
S304、网关将目标用户请求发送给服务器集群中的目标服务器。
在本步骤中,目标服务器指该用户请求指示的服务器。
S305、目标服务器的业务服务向目标应用发送业务请求。
在本步骤中,目标应用为用户请求指示的应用,业务请求指用户请求指示的操作类型的请求。
例如,目标用户请求表示“读取用户最近观看过但未观看完的视频列表信息”,则目标应用为“列表服务”,业务请求的信息表征“读取用户最近观看过但未观看完的视频列表信息”。
S306、业务故障模拟模块通过轮询代理服务提供的接口,获取所属应用的业务故障配置信息。
在本实施例中,为了描述方便,将业务故障模拟模块所部署在的应用,称为业务故障模块的所属应用。
在本步骤中,业务故障模拟模块根据所部署在的应用,从代理服务的业务故障配置信息中,提取所属应用的业务故障配置。
在本实施例中,业务故障模拟模块,可以为Java项目则是一个独立的jar包。其中,业务故障模拟模块可以根部内部的环境变量识别所属应用的名称,进而,在本步骤中,业务故障模拟模块可以通过轮询代理服务的接口,获取所属应用的业务故障配置信息。
S307、业务故障模拟模块在接收到的业务请求满足第一条件的情况下,通过执行预设的故障程序,模拟故障。
在本步骤中,第一条件可以包括:用户标识和操作类型与所属应用的业务故障配置信息中的一个用户的用户标识和操作类型匹配。其中,用户标识相匹配,操作类型相匹配。
在本实施例中,业务故障模拟模块的内部封装有Hystrix,模拟故障的具体实现方式为:依赖Hystrix的熔断降级来实现。例如,在本步骤中,模拟得到读取“读取用户最近观看过但未观看完的视频列表信息”立即失败,或者,模拟“读取用户最近观看过但未观看完的视频列表信息”延时失败等故障。
在本实施例中,业务故障模拟模块模拟了故障,该业务故障模拟模块所在的应用输出业务故障信息,例如,输出数据读取失败。多集群分布式服务接收到应用输出的业务故障信息后,根据该业务故障信息,对用户请求进行响应,得到响应结果。
S308、后台系统获取多集群分布式服务对模拟的业务故障下的用户请求的响应结果。
可选的,在本实施例中,多集群分布式故障模拟系统还可以包括智能监控系统,该智能监控系统,用于监控目标服务器的各项指标。在本步骤中,后台系统可以通过智能监控系统,获取目标服务器的各项指标,以便业务人员针对目标服务器的各项指标,确定以服务出现真实故障时客户端的呈现结果不影响用户体验为目标,对多集群分布式服务进行优化的依据。
可选的,在本实施例中,多集群分布式服务的故障模拟系统,还可以包括大数据服务,该大数据服务,用于调用代理服务的接口,获取预设的业务故障配置信息中的用户标识。并在清洗日志数据过程中,识别出用户标识的日志数据。
在本实施例中,网关在接收到的用户请求的用户标识存在于预设的业务故障配置信息中的预设用户标识的情况下,在用户标识中添加目标标识,使得业务故障模拟模块,在接收到业务请求的情况下,只需识别业务请求中是否包括目标标识,以及判断操作类型是否为目标操作类型即可,其中,识别目标标识要比判断用户标识是否存在于所属应用的业务配置信息中多个预设用户标识中的一个用户标识简单,进而,减少业务故障模拟模块的处理逻辑,提高业务故障模拟莫模块的处理效率。
在实际中,配置在网关中的标记模块不是必须的,在故障模拟系统中不包括标记模块的情况下,业务故障模拟模块用于在在接收到满足第一条件的业务请求的情况下,模拟产生所述预设故障类型的故障;其中,第一条件包括:包含的用户标识和操作类型与所属应用的业务故障配置信息中一个用户的用户标识和操作类型相同。
在本实施例中,代理服务是可选的,如果后台系统可以提供代理服务的接口,则无需代理服务。
图4为本申请实施例提供的一种服务器故障的模拟过程,在本实施例中,服务器故障模拟模块事先已下载混沌实验工具并解压在所属服务器的指定目录中,通过下载的混沌实验工具,实施服务器故障的模拟,具体的,可以包括以下步骤:
S401、服务器故障模拟模块,在接收到故障启动指令后,通过执行事先配置的故障程序,模拟预设服务器对应的预设故障。
在本实施例中,业务人员可以在后台系统配置服务器故障模拟实验,业务人员触发开始动作,后台系统向服务器故障配置信息中的预设服务器发送的故障启动指令,预设服务器接收到故障启动指令后,开始模拟预设故障。
在本实施例中,在服务器故障模拟模块模拟了预设故障后,例如,模拟CPU满载,或者,网络延迟等。由于预设服务器产生了模拟故障,使得预设服务器中的多集群分布式服务无法正常工作,从而,多集群分布式服务也不能正常工作,进而多集群分布式服务对用户请求的响应结果,可以反映多集群分布式服务的性能。
S402、后台系统获取预设服务器在模拟故障下的各项健康指标的取值。
可选的,在本实施例中,后台系统可以通过智能监控系统,获取预设服务器在模拟故障下的各项健康指标的取值。
在实际中,后台系统还可以展示获取的各项健康指标的取值,由业务人员识别并记录数据
S403、服务器故障模拟模块,在接收到故障停止指令的情况下,停止故障模拟。
在本步骤中,停止故障模拟即是指:恢复预设服务器为正常状态。
在本步骤中,故障停止指令可以为后台系统在满足预设条件的情况下,向服务器发送的故障停止指令。其中,预设条件可以为接收到用户触发的表征故障模拟停止的指令。
在本申请实施例中,故障模拟系统通过模拟各种生产环境可能发生的故障场景,为业务的正常服务提供判断及维护的依据,提升服务架构的可恢复性和弹性。基于本申请实施例提供的故障模拟系统,可以大大简化验证服务器真实发生故障时对系统架构带来的影响,并为后续优化提供依据。同时,本申请实施例提供的故障模拟系统可以同时接入多个应用、服务器,进行自动化执行,为回归验证节省人力成本。
图5为本申请实施例提供的一种多集群分布式服务的故障模拟系统,可以包括:后台系统、业务故障模拟模块和服务器故障模拟模块。其中,多集群分布式服务的待模拟故障的各个预设应用中,分别部署业务故障模拟模块;服务器集群中待模拟故障的各个预设服务器中,分别部署服务器故障模拟模块。
其中,故障模拟的具体实现原理可以包括以下步骤:
S501、业务故障模拟模块从后台系统事先配置的预设业务故障配置信息中,获取所属应用的业务故障配置信息。
在本步骤中,所属应用的业务故障配置信息可以包括:预设的用户标识、所属应用待模拟故障的预设操作类型,以及所述预设操作类型对应的预设故障类型。
S502、业务故障模拟模块在接收到满足第一条件的业务请求的情况下,模拟产生所述预设故障类型的故障。
在本步骤中,第一条件可以包括:包含的用户标识和操作类型与所属应用的业务故障配置信息中一个用户的用户标识和操作类型相同。
S503、服务器故障模拟模块在接收到后台系统发送的故障启动指令的情况下,模拟产生故障启动指令指示的故障类型的故障。
S504、后台系统采集多集群分布式服务在业务故障模拟模块和服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果。
在本实施例中,由于后台系统采集多集群分布式服务在业务故障模拟模块和服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果,该响应结果反映了呈现在预设客户端的结果,进而,以服务出现真实故障时预设客户端的呈现结果不影响用户体验为目标,依据收集的响应结果对多集群分布式服务进行优化。进而,为服务出现真实故障的情况下,服务不影响用户体验提供了条件。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种多集群分布式服务的故障模拟系统,其特征在于,包括:后台系统、业务故障模拟模块和服务器故障模拟模块;所述多集群分布式服务的待模拟故障的各个预设应用中,分别部署业务故障模拟模块;服务器集群中待模拟故障的各个预设服务器中,分别部署服务器故障模拟模块;
所述业务故障模拟模块,用于从所述后台系统事先配置的预设业务故障配置信息中,获取所属应用的业务故障配置信息;所述所属应用的业务故障配置信息包括:预设的用户标识、所属应用待模拟故障的预设操作类型,以及所述预设操作类型对应的预设故障类型;
所述业务故障模拟模块,还用于在接收到满足第一条件的业务请求的情况下,模拟产生所述预设故障类型的故障;所述第一条件包括:包含的用户标识和操作类型与所述所属应用的业务故障配置信息中一个用户的用户标识和操作类型相同;
所述服务器故障模拟模块,用于在接收到所述后台系统发送的故障启动指令的情况下,模拟产生所述故障启动指令指示的故障类型的故障;
所述后台系统,用于采集所述多集群分布式服务在所述业务故障模拟模块和所述服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果。
2.根据权利要求1所述的系统,其特征在于,还包括:网关;
所述网关,用于获取所述后台系统中事先配置的预设的业务故障配置信息;所述业务故障配置信息包括:所述预设的用户标识、待模拟故障的预设应用、各个预设应用分别对应的待模拟故障的预设操作类型,以及各个所述预设操作类型分别对应的预设故障类型;
所述网关,还用于在接收到满足第二条件的用户请求的情况下,向所述用户请求中添加目标标识,得到目标用户请求;所述第二条件包括:包含的用户标识存在于所述预设的用户标识中;
所述网关,还用于将所述目标用户请求,发送给目标服务器;所述目标服务器为所述目标用户请求指示的服务器;
所述第一条件具体为:包含目标标识,并且,包含的操作类型为目标操作类型;所述目标操作类型为所述所属应用的业务故障配置信息中目标用户标识对应的操作类型;所述目标用户标识为所述目标用户请求中的用户标识。
3.根据权利要去2所述的系统,其特征在于,还包括:代理服务;
所述代理服务,用于获取后台系统中事先配置的预设的业务故障配置信息;
所述网关,用于获取所述后台系统中事先配置的预设的业务故障配置信息,包括:
所述网关,具体用于接收所述代理服务推送的所述预设的业务故障配置信息;
所述业务故障模拟模块,用于从所述后台系统事先配置的预设的业务故障配置信息中,获取所述所属应用的业务故障配置信息,包括:
所述业务故障模拟模块,具体用于从所述代理服务的接口,查询所述所属应用的业务故障配置信息。
4.根据权利要求3所述的系统,其特征在于,所述业务故障模拟模块,用于从所述代理服务的接口,查询所述所属应用的业务故障配置信息,包括:
所述业务故障模拟模块,具体用于通过轮询所述代理服务的接口,查询所述所属应用的业务故障配置信息。
5.根据权利要求1所述的系统,其特征在于,还包括:智能监控系统;
所述智能监控系统,用于获取所述服务器集群中目标服务器的性能指标;所述目标服务器为所述用户请求待访问的服务器;
所述后台系统,用于采集所述多集群分布式服务在所述业务故障模拟模块和所述服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果,包括:
所述后台系统,具体用于通过调用所述智能监控系统,获取所述业务故障模拟模块和所述服务器故障模拟模块产生的模拟故障下,对用户请求的响应结果。
6.根据权利要求1所述的系统,其特征在于,所述业务故障模拟模块内部封装有Hystrix;所述业务故障模拟模块在接收到满足第一条件的业务请求的情况下,模拟产生所述预设故障类型的故障的具体方式,包括:
依赖所述Hystrix的熔断降级产生。
7.根据权利要求1所述的系统,其特征在于,所述预设的用户标识包括:预设用户登录预设客户端的登录标识,和/或,所述预设用户的设备标识。
8.根据权利要求1所述的系统,其特征在于,所述服务器故障模块,还用于在接收到所述后台系统发送的停止故障指令的情况下,停止产生模拟故障。
9.根据权利要求1所述的系统,其特征在于,还包括:大数据服务,用于从日志数据中,识别包含所述预设的用户标识的日志数据。
10.根据权利要求3所述的系统,其特征在于,所述代理服务,用于获取后台系统中事先配置的预设的业务故障配置信息,包括:
所述代理服务,具体用于轮询所述后台系统的预设接口,获取所述预设的业务故障配置信息。
CN202010806677.XA 2020-08-12 2020-08-12 一种多集群分布式服务的故障模拟系统 Active CN111930548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010806677.XA CN111930548B (zh) 2020-08-12 2020-08-12 一种多集群分布式服务的故障模拟系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010806677.XA CN111930548B (zh) 2020-08-12 2020-08-12 一种多集群分布式服务的故障模拟系统

Publications (2)

Publication Number Publication Date
CN111930548A true CN111930548A (zh) 2020-11-13
CN111930548B CN111930548B (zh) 2024-03-01

Family

ID=73310961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010806677.XA Active CN111930548B (zh) 2020-08-12 2020-08-12 一种多集群分布式服务的故障模拟系统

Country Status (1)

Country Link
CN (1) CN111930548B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596934A (zh) * 2020-12-26 2021-04-02 中国农业银行股份有限公司 一种故障测试方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160142369A1 (en) * 2014-11-18 2016-05-19 Alibaba Group Holding Limited Service addressing in distributed environment
CN106844132A (zh) * 2015-12-03 2017-06-13 北京国双科技有限公司 集群服务器的故障修复方法和装置
CN107483260A (zh) * 2017-08-28 2017-12-15 北京三快在线科技有限公司 故障处理方法及装置、电子设备
CN107645397A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 一种在分布式系统进行故障模拟的系统、装置及方法
CN107864058A (zh) * 2017-11-09 2018-03-30 凌云天博光电科技股份有限公司 故障判断方法和装置
CN109559583A (zh) * 2017-09-27 2019-04-02 华为技术有限公司 故障模拟方法及其装置
CN109918305A (zh) * 2019-03-07 2019-06-21 北京奇艺世纪科技有限公司 一种线上服务监控系统及方法
CN111405055A (zh) * 2020-03-23 2020-07-10 北京达佳互联信息技术有限公司 多集群管理方法、系统、服务器、存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160142369A1 (en) * 2014-11-18 2016-05-19 Alibaba Group Holding Limited Service addressing in distributed environment
CN106844132A (zh) * 2015-12-03 2017-06-13 北京国双科技有限公司 集群服务器的故障修复方法和装置
CN107645397A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 一种在分布式系统进行故障模拟的系统、装置及方法
CN107483260A (zh) * 2017-08-28 2017-12-15 北京三快在线科技有限公司 故障处理方法及装置、电子设备
CN109559583A (zh) * 2017-09-27 2019-04-02 华为技术有限公司 故障模拟方法及其装置
CN107864058A (zh) * 2017-11-09 2018-03-30 凌云天博光电科技股份有限公司 故障判断方法和装置
CN109918305A (zh) * 2019-03-07 2019-06-21 北京奇艺世纪科技有限公司 一种线上服务监控系统及方法
CN111405055A (zh) * 2020-03-23 2020-07-10 北京达佳互联信息技术有限公司 多集群管理方法、系统、服务器、存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596934A (zh) * 2020-12-26 2021-04-02 中国农业银行股份有限公司 一种故障测试方法及装置

Also Published As

Publication number Publication date
CN111930548B (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
WO2022237507A1 (zh) 服务器故障智能推送方法、装置、设备及存储介质
CN106227780B (zh) 一种海量网页的自动化截图取证方法和系统
CN109669795A (zh) 崩溃信息处理方法及装置
CN114465741B (zh) 一种异常检测方法、装置、计算机设备及存储介质
CN107168844B (zh) 一种性能监控的方法及装置
CN115023699A (zh) 恶意进程的检测方法、装置、电子设备及存储介质
CN111930548B (zh) 一种多集群分布式服务的故障模拟系统
CN116743619B (zh) 网络服务的测试方法、装置、设备及存储介质
CN110737565A (zh) 一种数据监控方法、装置、电子设备及存储介质
CN112235300B (zh) 云虚拟网络漏洞检测方法、系统、装置及电子设备
CN107257290B (zh) 一种开放式soa面向服务架构的测试方法及系统
CN100359865C (zh) 一种检测方法
CN103731315A (zh) 一种服务器故障检测方法
CN116170235B (zh) 一种数据库优化访问方法、系统、设备及介质
CN112492055A (zh) 一种传输协议重定向的方法、装置、设备及可读存储介质
CN114928638A (zh) 一种网络行为的解析方法、装置及监控设备
CN115766696A (zh) 一种文件上传方法、装置、电子设备及存储介质
CN115913912A (zh) 报文拦截及业务链路图的生成方法及装置
CN113778709A (zh) 接口调用方法、装置、服务器及存储介质
CN113067878A (zh) 信息采集方法、装置、设备、介质及程序产品
CN110611576B (zh) 一种数据质量监测方法、装置、设备及存储介质
CN113766363A (zh) 故障监控方法、装置及计算设备
CN107066538B (zh) 一种数据统计的方法及装置
JP5686001B2 (ja) 情報処理装置、メッセージ切分け方法およびメッセージ切分けプログラム
CN111111211A (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
GR01 Patent grant
GR01 Patent grant