一种基于多主DNS架构的高可用方法及装置制造方法及图纸

技术编号:25643433 阅读:27 留言:0更新日期:2020-09-15 21:35
本发明专利技术实施例提供一种基于多主DNS架构的高可用方法及装置,其中,所述方法包括:每个检查节点以设定频率探测每一个主DNS,将本检查节点的探测结果以及本检查节点的心跳信息以及每个决策节点将其心跳信息存储在分布式数据库中;每个决策节点根据检查节点及决策节点的心跳信息,判定检查节点及决策节点的数量均不少于设定数量阈值时,根据所述每一个探测结果判断是否有主DNS进入切换流程;若存在判定有主DNS进入切换流程的决策节点,则所有判定有主DNS进入切换流程的决策节点通过独占式抢锁成功后进行主DNS切换。根据本方案,通过在多主DNS架构下,基于分布式多点存活探测、数据存储、分布式多点决策,再根据规则进行快速切换以实现多主DNS高可用。

【技术实现步骤摘要】
一种基于多主DNS架构的高可用方法及装置
本专利技术涉及数据处理领域,具体涉及一种基于多主DNS架构的高可用方法及装置。
技术介绍
DNS(DomainNameSystem)域名系统,是一种域名解析系统,提供域名和IP相互转换的一种方法,不仅对外为互联网用户提供服务,对内也为管理员提供流量切换入口,现在用户对响应时间及可用性要求越来越高,作为底层基础组件提出了更高的要求。DNS是一种明显读多写少的场景,大多数情况都是用来使用域名解析,但系统管理员进行流量切换或域名变更时,传统的做法有以下二个:一、主从架构:一个主节点提供写功能,多个从节点提供读的功能,从与主利用原生复制技术完成全量或增量同步。二、同级架构:所有DNS同一级别,不区分主从角色,一旦有域名变更记录时,依赖SSH或其他配管服务让所有DNS服务使用新的本地配置文件并滚动重启生效。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:1、主从架构,主要有以下几个弊端:1)、主节点发生故障,DNS解析记录将无法变更,只能读取,会影响全局。2)、主节点变更,需要对所有节点进行配置变更及重启,风险较高。2、同级架构:主要有以下几个弊端:1)、在短暂的滚动重启过程中是不可用的,即使上层架构有探测存活并摘除的功能,但是有时间延时,这样因为少数重要的变更需求导致读也受到影响。2)、因所有DNS都需要重启使配置生效,所以域名生效时间长。
技术实现思路
本专利技术实施例提供一种基于多主DNS架构的高可用方法及装置,在多主DNS架构下,基于分布式多点存活探测、数据存储、分布式多点决策,再根据规则进行快速切换的一种DNS高可用方法和装置。为达到上述目的,一方面,本专利技术实施例提供了一种基于多主DNS架构的高可用方法,所述方法包括:每个检查节点以设定频率探测每一个主DNS,将本检查节点针对各主DNS的探测结果以及本检查节点的心跳信息存储在分布式数据库中,所述检查节点针对任一主DNS的探测结果包括成功或失败;每个决策节点将其心跳信息存储在分布式数据库中;每个决策节点读取所述分布式数据库中的每一个检查节点针对各主DNS的探测结果以及该检查节点的心跳信息,并获取每一个决策节点的心跳信息;每个决策节点根据所述检查节点的心跳信息及决策节点的心跳信息,判定检查节点的数量不少于设定第一数量阈值以及决策节点的数量不少于设定第二数量阈值时,根据所述每一个检查节点针对各主DNS的探测结果判断是否有主DNS进入切换流程;若存在判定有主DNS进入切换流程的决策节点,则所有判定有主DNS进入切换流程的决策节点通过独占式抢锁成功后进行主DNS切换。另一方面,本专利技术实施例提供了一种基于多主DNS架构的高可用装置,包括多个检查节点、分布式数据库、多个决策节点,其中:每个检查节点,用于以设定频率探测每一个主DNS,将本检查节点针对各主DNS的探测结果以及本检查节点的心跳信息存储在分布式数据库中,所述检查节点针对任一主DNS的探测结果包括成功或失败;分布式数据库,用于存储每一个检查节点针对各主DNS的探测结果以及该检查节点的心跳信息;以及存储每一个决策节点的心跳信息;每个决策节点,用于将其心跳信息存储在分布式数据库中;读取所述分布式数据库中的每一个检查节点针对各主DNS的探测结果以及该检查节点的心跳信息,并获取每一个决策节点的心跳信息;根据所述检查节点的心跳信息及决策节点的心跳信息,判定所述检查节点的数量不少于第一数量阈值以及决策节点的数量不少于第二数量阈值时,根据所述每一个检查节点针对各主DNS的探测结果判断是否有主DNS进入切换流程;以及,若存在判定有主DNS进入切换流程的决策节点,则所有判定有主DNS进入切换流程的决策节点通过独占式抢锁成功后进行主DNS切换。上述技术方案具有如下有益效果:本专利技术的技术方案由于使用了基于多主DNS架构的高可用方法,通过设置多个主从节点,当主节点不用时还有还一个或多个主节点提供域名解析变更服务,不影响对外服务。仅针对需要切换的主DNS进行切换,域名变更影响更小,只需要修改所有主DNS节点即可,主节点发生域名变更后通知从节点,从节点携带自身序列号与主节点对比进行同步,影响更小。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一种基于多主DNS架构的高可用方法的流程图;图2是本专利技术实施例一种基于多主DNS架构的高可用方法的整体流程图;图3是本专利技术实施例多主DNS和从DNS配置结构示意图;图4是本专利技术实施例一种基于多主DNS架构的高可用装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1、2所示,是本专利技术实施例一种基于多主DNS架构的高可用方法的流程图,所述方法包括:S101:每个检查节点以设定频率探测每一个主DNS,将本检查节点针对各主DNS的探测结果以及本检查节点的心跳信息存储在分布式数据库中,所述检查节点针对任一主DNS的探测结果包括成功或失败。S102:每个决策节点将其心跳信息存储在分布式数据库中。在此之前,进一步地,如图3所示,还包括,还包括设置大于设定第三数量阈值的主DNS;所述每个决策节点对应设置一从DNS,每个从DNS配置主DNS的全部配置数据。基于DNS的Bind软件构建多主架构,并包含多个从DNS,同步多个主DNS的全量或增量数据。优选地,所述分布式数据库为MySQL分布式数据库即MGR(MySQLGroupReplication)。检查节点分布在多个机房,例如至少三个机房,防止检查结果不准确导致决策节点错误判断,检查节点以一定频率探测所有主DNS,将探测结果存储在MGR,同时写入还有检查节点心跳信息,包括进程名,部署机器、当前时间等,如果探测过程中发生意外异常也写入到MGR中。S103:每个决策节点读取所述分布式数据库中的每一个检查节点针对各主DNS的探测结果以及该检查节点的心跳信息,并获取每一个决策节点的心跳信息。S104:每个决策节点根据所述检查节点的心跳信息及决策节点的心跳信息,判定检查节点的数量不少于设定第一数量阈值以及决策节点的数量不少于设定第二数量阈值时,根据所述每一个检查节点针对各主DNS的探测结果判断是否有主DNS进入切换流程。优选地,所述根据所述每一个检查节点针对各主本文档来自技高网...

【技术保护点】
1.一种基于多主DNS架构的高可用方法,其特征在于,包括:/n每个检查节点以设定频率探测每一个主DNS,将本检查节点针对各主DNS的探测结果以及本检查节点的心跳信息存储在分布式数据库中,所述检查节点针对任一主DNS的探测结果包括成功或失败;/n每个决策节点将其心跳信息存储在分布式数据库中;/n每个决策节点读取所述分布式数据库中的每一个检查节点针对各主DNS的探测结果以及该检查节点的心跳信息,并获取每一个决策节点的心跳信息;/n每个决策节点根据所述检查节点的心跳信息及决策节点的心跳信息,判定检查节点的数量不少于设定第一数量阈值以及决策节点的数量不少于设定第二数量阈值时,根据所述每一个检查节点针对各主DNS的探测结果判断是否有主DNS进入切换流程;/n若存在判定有主DNS进入切换流程的决策节点,则所有判定有主DNS进入切换流程的决策节点通过独占式抢锁成功后进行主DNS切换。/n

【技术特征摘要】
1.一种基于多主DNS架构的高可用方法,其特征在于,包括:
每个检查节点以设定频率探测每一个主DNS,将本检查节点针对各主DNS的探测结果以及本检查节点的心跳信息存储在分布式数据库中,所述检查节点针对任一主DNS的探测结果包括成功或失败;
每个决策节点将其心跳信息存储在分布式数据库中;
每个决策节点读取所述分布式数据库中的每一个检查节点针对各主DNS的探测结果以及该检查节点的心跳信息,并获取每一个决策节点的心跳信息;
每个决策节点根据所述检查节点的心跳信息及决策节点的心跳信息,判定检查节点的数量不少于设定第一数量阈值以及决策节点的数量不少于设定第二数量阈值时,根据所述每一个检查节点针对各主DNS的探测结果判断是否有主DNS进入切换流程;
若存在判定有主DNS进入切换流程的决策节点,则所有判定有主DNS进入切换流程的决策节点通过独占式抢锁成功后进行主DNS切换。


2.如权利要求1所述的基于多主DNS架构的高可用方法,其特征在于,设置大于设定第三数量阈值的主DNS;所述每个决策节点对应设置一从DNS,每个从DNS配置主DNS的全部配置数据。


3.如权利要求2所述的基于多主DNS架构的高可用方法,其特征在于,所述分布式数据库为MySQL分布式数据库。


4.如权利要求3所述的基于多主DNS架构的高可用方法,其特征在于,所述根据所述每一个检查节点针对各主DNS的探测结果判断是否有主DNS进入切换流程,包括:
每个决策节点根据所述每一个检查节点针对各主DNS的探测结果,当大于设定第四数量阈值的检查节点对同一主DNS的探测结果均为失败时,则判定该主DNS进入切换流程。


5.如权利要求4所述的基于多主DNS架构的高可用方法,其特征在于,所述所有判定有主DNS进入切换流程的决策节点通过独占式抢锁成功后进行主DNS切换,包括:
所有判定有主DNS进入切换流程的决策节点通过分布式应用程序Zookeeper进行独占式抢锁;
抢锁成功的决策节点将进入切换流程的主DNS的域名切换至该决策节点对应的从DNS。

...

【专利技术属性】
技术研发人员:刘金林邱春武李涛张博森
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:北京;11

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

1