分布式网络系统容错方法、装置及容错式分布式网络系统制造方法及图纸

技术编号:14146580 阅读:86 留言:0更新日期:2016-12-11 02:59
本申请实施例公开了一种分布式网络系统容错方法、装置及容错式分布式网络系统。当一个地区的负载均衡单元发生故障或其对应的后端服务单元集群全部发生故障时,DNS可以自动将原本属于该地区的服务请求迁移至其他地区。当属于一个地区的服务请求被发送到其他地区时,如果原地区的负载均衡单元发生故障,但原地区存在正常运行的后端服务单元,则将客户端服务请求转发给原地区的后端服务单元;如果原地区负载均衡单元和后端服务单元集群都发生故障,则将服务请求发送给其他地区的后端服务单元;如果原地区负载均衡单元和后端服务单元都正常运行,则将服务请求重定向到原地区处理。从而使分布式系统能够从故障中快速地回复正常运行。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种分布式网络系统容错方法、装置及容错式分布式网络系统
技术介绍
通常分布式网络系统如图1所示,包括DNS(Domain Name System,域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库)、负载均衡单元、后端处理单元集群(多个后端处理单元)和后端运行检测单元。一个DNS会对应一个或多个负载均衡单元,每个负载均衡单元对应多个后端处理单元集群,一个负载均衡单元和其对应的后端处理单元集群及后端运行检测装置可称为一个数据中心。其中,DNS接收到用户的客户端通过网络发送的服务请求后,将服务的URL(Uniform Resource Locator,统一资源定位符,即网址)转换为IP(Internet Protocol)地址,这一过程称为IP路由,这些IP地址可以属于同一或不同地区的不同负载均衡单元。DNS接收到请求后,根据IP地址通过负载均衡单元将请求转发给后端处理单元集群中的一台或多台后端处理单元进行处理。DNS进行域名解析时,会将所有地区数据中心的域名(总域名,由用户输入)映射到分地区域名,然后将分地区域名映射到该地区数据中心的负载均衡单元的IP地址。例如,某应用部署在A、B和C地区的数据中心,总域名为www.someapp.com,A、B和C的分地区域名分别为a.someapp.com、b.someapp.com和c.someapp.com,总域名与三个地区域名相映射,三个地区域名与各自对应的负载均衡单元的IP地址相映射。DNS的功能包括基于地理位置的域名解析或者基于延迟的域名解析,对于一个特定的请求,基于地理位置的域名解析将域名解析为距离用户地理最近的一个负载均衡单元的IP地址,基于延迟的域名解析则将域名解析为响应速度最快(延迟最小)的地区的分地区域名,并得到对应的IP地址,这样可以加速用户访问和改善系统性能。负载均衡单元接收DNS转发的服务请求,然后根据其对应的各个后端处理单元的实际运行状况将服务请求具体分配到某个或某几个后端处理单元中,其地址即对外公开的IP地址。负载均衡单元只做负载均衡任务分配,不对网络请求进行处理。后端处理单元接收到负载均衡单元分配的服务请求后,对该服务请求进行具体处理,并将响应结果返回服务请求发送方。后端运行检测装置用于对其负责的后端处理单元的运行状况进行检测,当后端处理单元出现故障时,后端运行检测装置通知负载均衡单元该后端处理单
元不可用,负载均衡单元接收到故障通知后,在分配服务请求时排除该后端处理单元。分布式网络系统在服务器集群规模扩大时,硬件发生故障的概率会成比例增加,运行的软件系统在更新速度提高时,软件发生故障的概率也会增加。如果集群规模很大且软件更系速度很频繁,则整个系统软硬件持续不断地发生各种故障的概率将大大增加。现阶段的分布式网络系统,当一个地区的所有后端处理单元同时发生故障或负载均衡单元本身发生故障时,即使分布式网络系统中有仍在正常运行的其他后端处理单元,所有发送给该地区数据中心的服务请求都无法被处理,这样不仅使得用户的服务请求得不到响应,也在很大程度上浪费了系统资源。
技术实现思路
为克服相关技术中分布式网络系统的数据中心发生故障导致对应的用户服务请求得不到响应的问题,本申请提供一种分布式网络系统容错方法、装置及容错式分布式网络系统。根据本申请实施例的第一方面,提供一种分布式网络系统容错方法,包括:获取负载均衡单元和后端服务单元的故障检测结果;接收本地负载均衡单元转发的非本地服务请求,所述非本地服务请求由域名系统在所述非本地服务请求对应的IP地址不可用时,转发至本地负载均衡单元;根据负载均衡单元和后端服务单元的故障检测结果,将所述非本地服务请求转发至后端服务单元,包括:判断所述非本地服务请求所属地区是否存在正常运行的后端服务单元,以及判断所述服务请求所属地区的负载均衡单元是否正常运行;如果所述非本地服务请求所属地区的后端服务单元全部存在故障,则将所述非本地服务请求转发至本地区中正常运行的后端服务单元;如果所述非本地服务请求所属地区存在正常运行的后端服务单元,且所述非本地服务请求所属地区的负载均衡单元存在故障,将所述非本地服务请求转发至所述服务请求所属地区中正常运行的后端服务单元;如果所述非本地服务请求所属地区的负载均衡单元正常运行,且所述非本地服务请求所属地区存在正常运行的后端服务单元,则将所述非本地服务请求重定向至所述服务请求所属地区的负载均衡单元。可选的,所述的分布式网络系统容错方法,还包括:步骤a1,当接收到的服务请求对应的流量大于转发所至后端服务单元的流量处理容
量时,判断是否存在未启动的备用后端服务单元;步骤a2,如果不存在未启动的备用后端服务单元,则对所述服务请求中大于所述流量处理容量的部分,向服务请求发送方返回错误信息;步骤a3,如果存在未启动的备用后端服务单元,则启动所述备用后端服务单元,重新计算后端服务单元的流量处理容量后,返回步骤a1。可选的,所述的分布式网络系统容错方法,还包括:后端服务单元将数据存储操作消息异步发送至其他地区后端服务单元的数据存储操作复制消息队列,后端服务单元将所述数据存储操作复制消息队列中的数据存储操作应用到本地后端服务单元的数据存储服务中。根据本申请实施例的第二方面,提供一种分布式网络系统容错装置,包括:故障检测结果获取单元,用于获取负载均衡单元和后端服务单元的故障检测结果;请求路由单元,用于接收本地负载均衡单元转发的非本地服务请求,并根据负载均衡单元和后端服务单元的故障检测结果,将所述非本地服务请求转发至后端服务单元,所述非本地服务请求由域名系统在所述非本地服务请求对应的IP地址不可用时,转发至本地负载均衡单元,所述请求路由单元包括:第一判断子单元,用于判断所述非本地服务请求所属地区是否存在正常运行的后端服务单元,以及判断所述服务请求所属地区的负载均衡单元是否正常运行;第一执行子单元,如果所述非本地服务请求所属地区的后端服务单元全部存在故障,则将所述非本地服务请求转发至本地区中正常运行的后端服务单元;第二执行子单元,如果所述非本地服务请求所属地区存在正常运行的后端服务单元,且所述非本地服务请求所属地区的负载均衡单元存在故障,将所述非本地服务请求转发至所述服务请求所属地区中正常运行的后端服务单元;第三执行子单元,如果所述非本地服务请求所属地区的负载均衡单元正常运行,且所述非本地服务请求所属地区存在正常运行的后端服务单元,则将所述非本地服务请求重定向至所述服务请求所属地区的负载均衡单元。可选的,所述的分布式网络系统容错装置,还包括:备用后端服务判断单元,用于当接收到的服务请求对应的流量大于转发所至后端服务单元的流量处理容量时,判断是否存在未启动的备用后端服务单元;消息返回单元,用于如果不存在未启动的备用后端服务单元,则对所述服务请求中大于所述流量处理容量的部分,向服务请求发送发返回响应错误消息;容量扩充单元,用于如果存在未启动的备用后端服务单元,则启动所述备用后端服务单元,重新计算后端服务单元的流量处理容量后,返回所述备用后端服务判断单元。可选的,所述的分布式网络系统容错装置,还包括应用于后端服务单元中的操作同步单元,所述操作同步单本文档来自技高网
...
分布式网络系统容错方法、装置及容错式分布式网络系统

【技术保护点】
一种分布式网络系统容错方法,其特征在于,包括:获取负载均衡单元和后端服务单元的故障检测结果;接收本地负载均衡单元转发的非本地服务请求,所述非本地服务请求由域名系统在所述非本地服务请求对应的IP地址不可用时,转发至本地负载均衡单元;根据负载均衡单元和后端服务单元的故障检测结果,将所述非本地服务请求转发至后端服务单元,包括:判断所述非本地服务请求所属地区是否存在正常运行的后端服务单元,以及判断所述服务请求所属地区的负载均衡单元是否正常运行;如果所述非本地服务请求所属地区的后端服务单元全部存在故障,则将所述非本地服务请求转发至本地区中正常运行的后端服务单元;如果所述非本地服务请求所属地区存在正常运行的后端服务单元,且所述非本地服务请求所属地区的负载均衡单元存在故障,将所述非本地服务请求转发至所述服务请求所属地区中正常运行的后端服务单元;如果所述非本地服务请求所属地区的负载均衡单元正常运行,且所述非本地服务请求所属地区存在正常运行的后端服务单元,则将所述非本地服务请求重定向至所述服务请求所属地区的负载均衡单元。

【技术特征摘要】
1.一种分布式网络系统容错方法,其特征在于,包括:获取负载均衡单元和后端服务单元的故障检测结果;接收本地负载均衡单元转发的非本地服务请求,所述非本地服务请求由域名系统在所述非本地服务请求对应的IP地址不可用时,转发至本地负载均衡单元;根据负载均衡单元和后端服务单元的故障检测结果,将所述非本地服务请求转发至后端服务单元,包括:判断所述非本地服务请求所属地区是否存在正常运行的后端服务单元,以及判断所述服务请求所属地区的负载均衡单元是否正常运行;如果所述非本地服务请求所属地区的后端服务单元全部存在故障,则将所述非本地服务请求转发至本地区中正常运行的后端服务单元;如果所述非本地服务请求所属地区存在正常运行的后端服务单元,且所述非本地服务请求所属地区的负载均衡单元存在故障,将所述非本地服务请求转发至所述服务请求所属地区中正常运行的后端服务单元;如果所述非本地服务请求所属地区的负载均衡单元正常运行,且所述非本地服务请求所属地区存在正常运行的后端服务单元,则将所述非本地服务请求重定向至所述服务请求所属地区的负载均衡单元。2.如权利要求1所述的分布式网络系统容错方法,其特征在于,还包括:步骤a1,当接收到的服务请求对应的流量大于转发所至后端服务单元的流量处理容量时,判断是否存在未启动的备用后端服务单元;步骤a2,如果不存在未启动的备用后端服务单元,则对所述服务请求中大于所述流量处理容量的部分,向服务请求发送方返回错误信息;步骤a3,如果存在未启动的备用后端服务单元,则启动所述备用后端服务单元,重新计算后端服务单元的流量处理容量后,返回步骤a1。3.如权利要求1所述的分布式网络系统容错方法,其特征在于,还包括:后端服务单元将数据存储操作消息异步发送至其他地区后端服务单元的数据存储操作复制消息队列,后端服务单元将所述数据存储操作复制消息队列中的数据存储操作应
\t用到本地后端服务单元的数据存储服务中。4.一种分布式网络系统容错装置,其特征在于,包括:故障检测结果获取单元,用于获取负载均衡单元和后端服务单元的故障检测结果;请求路由单元,用于接收本地负载均衡单元转发的非本地服务请求,并根据负载均衡单元...

【专利技术属性】
技术研发人员:李锴
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1