【技术实现步骤摘要】
故障注入方法及其装置、业务服务系统
本申请涉及计算机领域,特别涉及一种故障注入方法及其装置、业务服务系统。
技术介绍
随着云计算技术的快速发展,云服务的使用越来越普遍。并且,对于云服务提供商来说,在其他云服务(下面称为云服务A)的基础上构建自己的云服务(下面称为云服务B),能够有效提高云服务的开发效率。但是,这样会使该云服务B对云服务A具有一定的依赖性,导致当云服务A的实现系统出现故障时,云服务B可能出现服务不可用的情况,因此,测试云服务的实现系统在其所依赖的云服务的实现系统出现故障时的可靠性,是很有必要的。相关技术中,对云服务B的实现系统进行可靠性测试的实现方式为:向云服务A的实现系统注入故障,以模拟出云服务A的实现系统出现故障的情况,然后使用该出现故障的实现系统继续向云服务B的实现系统提供云服务,再观察云服务B的实现系统在接收到该出现故障的实现系统提供的云服务后的表现,然后根据该表现评估云服务B的实现系统的可靠性。其中,目前注入的故障主要包括:实现云服务的服务器的停机故障、实现云服务的服务器的断网故障和云服务进程的强制退 ...
【技术保护点】
1.一种故障注入方法,其特征在于,所述故障注入方法应用于业务服务系统,所述业务服务系统中运行有第一应用程序、第二应用程序和故障注入模块,所述方法包括:/n所述第一应用程序生成业务消息,所述业务消息用于访问所述第二应用程序;/n所述故障注入模块获取所述业务消息,对所述业务消息执行故障属性参数所指示的故障注入操作;/n所述故障注入模块将执行故障注入操作后的业务消息发送至所述第二应用程序。/n
【技术特征摘要】
1.一种故障注入方法,其特征在于,所述故障注入方法应用于业务服务系统,所述业务服务系统中运行有第一应用程序、第二应用程序和故障注入模块,所述方法包括:
所述第一应用程序生成业务消息,所述业务消息用于访问所述第二应用程序;
所述故障注入模块获取所述业务消息,对所述业务消息执行故障属性参数所指示的故障注入操作;
所述故障注入模块将执行故障注入操作后的业务消息发送至所述第二应用程序。
2.根据权利要求1所述的方法,其特征在于,所述业务服务系统中还运行有地址转换模块,在所述故障注入模块获取所述业务消息之前,所述方法还包括:
所述地址转换模块获取所述业务消息,将所述业务消息的目的地址修改为所述故障注入模块的地址,发送修改后的所述业务消息。
3.根据权利要求1或2所述的方法,其特征在于,所述故障注入模块对所述业务消息执行故障属性参数所指示的故障注入操作,包括:
所述故障注入模块在所述业务消息符合过滤条件时,对所述业务消息执行所述故障属性参数所指示的故障注入操作。
4.根据权利要求1至3任一所述的方法,其特征在于,当所述业务消息为业务请求时,所述过滤条件涉及以下一项或多项内容:请求类型、请求访问的地址、请求头关键字和请求体关键字;
当所述业务消息为针对业务请求的响应时,所述过滤条件涉及以下一项或多项内容:响应状态码、响应头关键字和响应体关键字。
5.根据权利要求1至4任一所述的方法,其特征在于,所述业务消息包括多个数据包,当所述故障属性参数所指示的故障注入操作为丢包操作时,所述故障注入模块对所述业务消息执行所述故障属性参数所指示的故障注入操作,包括:
所述故障注入模块基于所述故障属性参数,丢弃所述多个数据包的部分或全部。
6.根据权利要求1至5任一所述的方法,其特征在于,当所述故障属性参数所指示的故障注入操作为时延操作时,所述故障注入模块对所述业务消息执行故障属性参数所指示的故障注入操作,包括:
所述故障注入模块基于所述故障属性参数,在延迟所述故障属性参数指定的时长后,发送所述业务消息。
7.根据权利要求1至6任一所述的方法,其特征在于,当所述故障属性参数所指示的故障注入操作为错包操作时,所述故障注入模块对所述业务消息执行故障属性参数所指示的故障注入操作,包括:
所述故障注入模块基于所述故障属性参数,修改所述业务消息。
8.一种业务服务系统,其特征在于,所述业务服务系统包括:第一服务器、第二服务器和故障注入模块;
所述第一服务器上运行的第一应用程序用于生成业务消息,所述业务消息用于访问所述第二服务器上运行的第二应用程序;
所述故障注入模块用于获取所述业务消息,对所述业务消息执行故障属性参数所指示的故障注入操作;将执行故障注入操作后的业务消息发送至所述第二服务器上运行的第二应用程...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。