本发明专利技术实施例涉及一种容灾备份方法,所述方法包括将业务线上实时流量镜像至容灾备份服务器;对业务的线上服务进行状态监测,当监测到所述业务的线上服务出现故障时,触发容灾备份服务器基于拦截器拦截请求,所述请求为无状态请求,获取符合拦截条件的请求信息,并将请求信息以及对应请求的时间戳保存至文本文件中;待监测到所述业务的线上服务恢复正常后,关闭容灾备份服务器的请求拦截,通过容灾备份服务器提供的请求回放接口,根据请求的时间戳回放设定时间窗口内备份的请求。该容灾备份方法为轻量级备份,能够实现无状态请求的个性化备份,成本较低。本发明专利技术实施例还涉及容灾备份装置、计算机设备和存储介质。计算机设备和存储介质。计算机设备和存储介质。
【技术实现步骤摘要】
一种容灾备份方法以及相关装置
[0001]本申请涉及计算机
,尤其涉及一种容灾备份方法以及相关装置。
技术介绍
[0002]业务App在用户行为日志上报时,如遭遇服务器应用出现故障,所有节点均无法对外正常服务,短时间无法恢复,由于这些节点请求做了加密处理并且采用post请求,使得access.log请求日志无法记录到,导致有很多用户行为日志直接丢失,影响数据分析。目前主要解决方式是采用数据异地备份、双机冷热备份等重量级备份,成本较高,基本都要到应用层进行备份,并且备份服务也需能正常使用;如果流量到达不了应用层或被拒绝,那么流量就会丢失,无法实时备份流量。
技术实现思路
[0003]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种容灾备份方法以及相关装置。
[0004]第一方面,本专利技术实施例提供了一种容灾备份方法,所述方法包括以下步骤:
[0005]将业务线上实时流量镜像至容灾备份服务器;
[0006]对业务的线上服务进行状态监测,当监测到所述业务的线上服务出现故障时,触发容灾备份服务器基于拦截器拦截请求,所述请求为无状态请求,获取符合拦截条件的请求信息,并将请求信息以及对应请求的时间戳保存至文本文件中;
[0007]待监测到所述业务的线上服务恢复正常后,关闭容灾备份服务器的请求拦截,通过容灾备份服务器提供的请求回放接口,根据请求的时间戳回放设定时间窗口内备份的请求。
[0008]在一种实施方式中,所述将业务线上实时流量镜像至容灾备份服务器包括:
[0009]通过Nginx的mirror模块将符合预设规则的实时流量镜像至容灾备份服务器。
[0010]在一种实施方式中,所述将请求信息、对应请求的时间戳保存至文本文件中,包括:
[0011]将请求信息中请求路径、请求头、请求参数、请求包体,以及对应请求的时间戳保存至文本文件中。
[0012]第二方面,本专利技术实施例提供了一种容灾备份装置,所述装置包括:
[0013]镜像模块,用于将业务线上实时流量镜像至容灾备份服务器;
[0014]备份模块,用于对业务的线上服务进行状态监测,当监测到所述业务的线上服务出现故障时,触发容灾备份服务器基于拦截器拦截请求,所述请求为无状态请求,获取符合拦截条件的请求信息,并将请求信息以及对应请求的时间戳保存至文本文件中;
[0015]回放模块,用于待监测到所述业务的线上服务恢复正常后,关闭容灾备份服务器的请求拦截,通过容灾备份服务器提供的请求回放接口,根据请求的时间戳回放设定时间窗口内备份的请求。
[0016]在一种实施方式中,所述镜像模块为Nginx的mirror模块,用于将符合预设规则的实时流量镜像至容灾备份服务器。
[0017]在一种实施方式中,所述容灾备份服务器将请求信息中请求路径、请求头、请求参数、请求包体,以及对应请求的时间戳保存至文本文件中。
[0018]第三方面,本专利技术实施例提供了一种计算机设备,所述计算机设备包括:
[0019]一个或多个处理器;
[0020]存储器,用于存储一个或多个程序;
[0021]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一项所述的容灾备份方法。
[0022]第四方面,本专利技术实施例提供了一种计算机可读存储介质。
[0023]所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的容灾备份方法。
[0024]在本专利技术实施例中,通过将业务线上实时流量镜像至容灾备份服务器;对业务的线上服务进行状态监测,当监测到所述业务的线上服务出现故障时,触发容灾备份服务器基于拦截器拦截请求,所述请求为无状态请求,获取符合拦截条件的请求信息,并将请求信息以及对应请求的时间戳保存至文本文件中;待监测到所述业务的线上服务恢复正常后,关闭容灾备份服务器的请求拦截,通过容灾备份服务器提供的请求回放接口,根据请求的时间戳回放设定时间窗口内备份的请求;减少数据丢失,达到丢失补偿的效果,提高线上服务的容灾率,同时也为开发人员修复线上服务提供更多时间,为系统健壮性提供保障。该容灾备份方法为轻量级备份,能够实现无状态请求的个性化备份,成本较低。
附图说明
[0025]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本专利技术实施例一提供的一种容灾备份方法的流程图;
[0027]图2为本专利技术实施例二提供的一种容灾备份装置的结构示意图;
[0028]图3为本专利技术实施例三提供的一种计算机设备的结构示意图。
具体实施方式
[0029]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0030]业务App在用户行为日志上报时,如遭遇服务器应用出现故障,所有节点均无法对外正常服务,短时间无法恢复,由于这些节点请求做了加密处理并且采用post请求,使得access.log请求日志无法记录到,导致有很多用户行为日志直接丢失,影响数据分析。目前主要解决方式是采用数据异地备份、双机冷热备份等重量级备份,成本较高,基本都要到应用层进行备份,并且备份服务也需能正常使用;如果流量到达不了应用层或被拒绝,那么流
量就会丢失,无法实时备份流量。
[0031]为克服上述问题或者至少部分地解决上述问题,本申请实施例提供容灾备份方法,该方法为轻量级备份,能够为无状态请求提供备份,减少数据丢失,同时也为开发人员修复线上服务提供更多时间,为系统健壮性提供保障。下面通过实施例进行详细说明。
[0032]实施例一
[0033]图1为本专利技术实施例一提供的容灾备份方法的流程图,该方法可以由容灾备份装置来执行,该容灾备份装置可以由软件和/或硬件实现,可以配置在计算机设备中,例如,服务器、个人电脑,等等。所述容灾备份方法具体包括如下步骤:
[0034]步骤101、将业务线上实时流量镜像至容灾备份服务器。
[0035]Nginx自1.13.4开始引入nginx_mirror_module模块,利用此模块可以将线上实时流量镜像至其他环境,而Nginx最终会丢弃mirror的响应,从而不影响源站请求的响应。
[0036]因而,可以通过配置Nginx的mirror(流量镜像)模块,利用mirror模块将符合预设规则的业务线上实时流量镜像至容灾备份服务器,此过程中,而Nginx最终会丢弃mirror的响应,同时mirror模块采用异步的方式向容灾备份服务器发本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种容灾备份方法,其特征在于,包括:将业务线上实时流量镜像至容灾备份服务器;对业务的线上服务进行状态监测,当监测到所述业务的线上服务出现故障时,触发容灾备份服务器基于拦截器拦截请求,所述请求为无状态请求,获取符合拦截条件的请求信息,并将请求信息以及对应请求的时间戳保存至文本文件中;待监测到所述业务的线上服务恢复正常后,关闭容灾备份服务器的请求拦截,通过容灾备份服务器提供的请求回放接口,根据请求的时间戳回放设定时间窗口内备份的请求。2.根据权利要求1所述的方法,其特征在于,所述将业务线上实时流量镜像至容灾备份服务器包括:通过Nginx的mirror模块将符合预设规则的实时流量镜像至容灾备份服务器。3.根据权利要求1所述的方法,其特征在于,所述将请求信息、对应请求的时间戳保存至文本文件中,包括:将请求信息中请求路径、请求头、请求参数、请求包体,以及对应请求的时间戳保存至文本文件中。4.一种容灾备份装置,其特征在于,包括:镜像模块,用于将业务线上实时流量镜像至容灾备份服务器;备份模块,用于对业务的线上服务进行状态监测,当监测到所述业务的线上服务出现故障时,触发容灾备份服务器基于拦截器拦截请...
【专利技术属性】
技术研发人员:王玲,何海锋,曾启彦,廖梓鸿,吴海强,
申请(专利权)人:广州点金石信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。