一种切换至灾备应用实例的方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及互联网技术领域,尤其涉及一种切换至灾备应用实例的方法及
目.0
【背景技术】
[0002]为防止互联网服务发生中断,提高网络服务的稳定性。线上同时部署有主应用集群和灾备应用集群。
[0003]当主应用集群出现故障时,例如数据库宕机、缓存集群宕机和外部接口服务宕机等情况,可以将全部外部服务请求切换到灾备应用集群上,同时主应用集群不再处理外部服务请求,从而实现切换至灾备应用集群提供网络服务。目前的切换至灾备应用集群的方式如下所示:
[0004]方式一,基于相同的IP(Internet Protocol,网络之间互连的协议)地址切换至灾备应用实例。其中,主应用集群和灾备应用集群具有相同的IP地址。在正常运行情况下,反向代理服务器接受外部服务请求之后,通过VIP (虚拟IP地址)服务器访问应用集群,VIP服务器将请求转发给主应用集群,而灾备应用集群处于禁用状态;当主应用集群异常时,通过VIP服务器将所有外部服务请求转发到灾备应用集群,而主应用集群不再接收外部服务请求。
[0005]方式二,利用DNS(Domain Name System,域名系统)切换至灾备应用集群。其中,主应用集群与灾备应用集群拥有相同的域名,IP地址不同。正常情况下,通过DNS将域名对外解析到主应用集群对应的IP地址,不对外解析灾备应用集群的IP地址;当主应用集群异常时,通过DNS服务器取消对外解析主应用集群地址,同时对外解析灾备集群IP地址。
[0006]方式三、利用软件或硬件的负载均衡切换至灾备应用实例,这种方式的前提是同时将主应用集群的IP地址以及灾备应用集群的IP地址均配置到负载均衡器上。正常情况下,负载均衡器只将外部服务请求转发给主应用集群对应的IP地址进行负载均衡,灾备应用集群的IP地址处于禁用状态;当主应用集群异常时,激活负载均衡器上的灾备应用集群的IP地址,禁用主应用集群的IP地址,将全部外部服务请求转发给灾备应用集群对应的IP地址进行负载均衡。
[0007]上述三种切换至灾备应用实例的方式,都只能在主应用集群异常时,需要禁用整个主应用集群,将全部外部服务请求发送至灾备应用集群,切换成本高。
【发明内容】
[0008]本发明实施例提供一种切换至灾备应用实例的方法及装置,以实现在主应用集群中的主应用实例出现异常时,降低将外部访问请求发送至灾备应用实例的切换成本。
[0009]一方面,本发明实施例提供了一种切换至灾备应用实例的方法,包括:
[0010]接收主应用实例故障的信号,依据故障的主应用实例,确定被禁用的主应用实例;
[0011]依据主应用实例和灾备应用实例的对应关系,确定被禁用的主应用实例对应的灾备应用实例;
[0012]依据预设的默认参数值修改规则,将默认参数值由所述被禁用的主应用实例对应的参数值,修改为所述被禁用的主应用实例对应的灾备应用实例对应的参数值;
[0013]依据修改后的默认参数值,将外部服务请求发送至所述被禁用的主应用实例对应的灾备应用实例。
[0014]优选地,所述依据故障的主应用实例,确定被禁用的主应用实例,包括:
[0015]将所述故障的主应用实例和与所述故障的主应用实例具有相同的网络之间互连的协议IP或关键参数的主应用实例,作为所述被禁用的主应用实例。
[0016]优选地,所述被禁用的主应用实例对应的灾备应用实例与所述被禁用的主应用实例具有相同的IP、端口、域名和关键参数,且具有不同的参数值。
[0017]优选地,所述被禁用的主应用实例对应的参数值为I,所述被禁用的主应用实例对应的灾备应用实例对应的参数值为2。
[0018]优选地,所述依据修改后的默认参数值,将外部服务请求发送至所述被禁用的主应用实例对应的灾备应用实例,并禁用所述被禁用的主应用实例之后,还包括:
[0019]禁用所述被禁用的主应用实例。
[0020]另一方面,本发明实施例提供了一种切换至灾备应用实例的装置,包括:
[0021]被禁用的主应用实例确定模块,用于接收主应用实例故障的信号,依据故障的主应用实例,确定被禁用的主应用实例;
[0022]灾备应用实例确定模块,用于依据主应用实例和灾备应用实例的对应关系,确定被禁用的主应用实例对应的灾备应用实例;
[0023]默认参数值修改模块,用于依据预设的默认参数值修改规则,将默认参数值由所述被禁用的主应用实例对应的参数值,修改为所述被禁用的主应用实例对应的灾备应用实例对应的参数值;
[0024]外部请求发送模块,用于依据修改后的默认参数值,将外部服务请求发送至所述被禁用的主应用实例对应的灾备应用实例。
[0025]优选地,所述被禁用的主应用实例确定模块具体用于,将所述故障的主应用实例和与所述故障的主应用实例具有相同的网络之间互连的协议IP或关键参数的主应用实例,作为所述被禁用的主应用实例。
[0026]优选地,所述被禁用的主应用实例对应的灾备应用实例与所述被禁用的主应用实例具有相同的IP、端口、域名和关键参数,且具有不同的参数值。
[0027]优选地,所述被禁用的主应用实例对应的参数值为I,修改为所述被禁用的主应用实例对应的灾备应用实例对应的参数值为2。
[0028]优选地,所述装置还包括:
[0029]主应用实例禁用模块,用于禁用所述被禁用的主应用实例。
[0030]本发明实施例提供的一种切换至灾备应用实例的方法和装置,可以在主应用集群中的任意一个或多个主应用实例故障的情况下,确定被禁用的主应用实例,并通过修改默认参数值,将外部请求发送至被禁用的主应用实例对应的灾备应用实例,不需要禁用主应用集群中的全部主应用实例,降低了主应用实例和备用应用实例的切换成本。
【附图说明】
[0031]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为本发明实施例提供的一种切换至灾备应用实例的方法的流程示意图;
[0033]图2为本发明实施例提供的一种实例参数配置图;
[0034]图3为本发明实施例提供的一种实例参数配置图;
[0035]图4为本发明实施例提供的一种实例参数配置图;
[0036]图5为本发明实施例提供的一种切换至灾备应用实例的方法的流程示意图;
[0037]图6为本发明实施例提供的一种切换至灾备应用实例的方法的流程示意图;
[0038]图7为本发明实施例提供的一种切换至灾备应用实例的装置的结构示意图。
【具体实施方式】
[0039]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0040]实施例一
[0041]本发明实施例提供的一种切换至灾备应用实例的方法,该方法可适用于部分主应用实例异常,需要将外部服务请求发送至部分灾备应用实例的情况下,该方法基于包括主应用集群和灾备应用集群的Web (互联网)集群,主应用集群可以包括多个主应用实例,灾备应用集群可以包括多个灾备应用实例,如图1所示,该方法具体包括以下步骤S101-S104。
[0042]步骤S101,接收主应用实例故障的信号,依据故障的主应用实例,确定被禁用的主应用实例。
[0043]在步骤SlOl中,在主应用集群中的主应用实例故障的情况下,可以接收到主应用实例故障的信号;信号中至少包括故障信息号的关键参数(KEY),关键参数可以标识故障的主应用实例接收的外部服务请求,例如:数据库服务请求、缓存服务请求、搜索服务请求和接口服务请求等外部服务请求。
[0044]步骤S102,依据主应用实例和灾备应用实例的对应关