实现分布式集群高可用的方法、系统及计算机可读介质技术方案

技术编号:28682742 阅读:40 留言:0更新日期:2021-06-02 03:01
本发明专利技术提供了实现分布式集群高可用的方法、系统及计算机可读介质,该方法包括:在分布式集群的每个节点中部署VIP进程,在每个节点的主进程中部署Zookeeper客户端,并在主进程与Zookeeper服务端之间建立长连接;VIP进程对当前状态的主节点中的主进程进行监测以确定当前状态的主节点的健康状态,并在当前状态的主节点发生故障时,由作为当前状态的主节点中的VIP进程删除当前状态的主节点中的VIP,则由剩余的节点以抢占方式确定唯一VIP,以将抢占到唯一VIP的节点作为主节点,并由VIP对外提供服务。通过本发明专利技术,有效地避免了分布式集群中的各个节点间出现双VIP及其所导致的脑裂现象,避免了节点间出现网络断开时各节点对资源的争夺,提高了用户体验。

【技术实现步骤摘要】
实现分布式集群高可用的方法、系统及计算机可读介质
本专利技术涉及计算机
,尤其涉及一种实现分布式集群高可用的方法、系统及计算机可读介质。
技术介绍
脑裂(split-brain)是指在一个高可用(HighAvailability,HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,从而导致系统混乱、数据损坏的现象。随着互联网及云计算的快速发展及基于用户所产生的业务量不断增加,对业务的可靠性和性能要求越来越高。在实际的生产环境中,绝大多数集群都是高可用的,一旦发生脑裂,集群或者高可用集群中的多个节点的角色均变成了主节点,此时用户均可与多个原本不是主节点的节点(即从节点)执行写操作等节点上可执行的各项操作,从而导致各个节点之间的数据存在不一致的情况。在高可用集群中通常包含一个主节点(Master)和多个从节点(Backup),主节点与多个从节点之间通常基于Keepalived及Haproxy的组合,以确保集群的高可用性能。Keepalived是以VRRP协议(虚拟路由冗余本文档来自技高网...

【技术保护点】
1.实现分布式集群高可用的方法,其特征在于,包括:/n在分布式集群的每个节点中部署VIP进程,在每个节点的主进程中部署Zookeeper客户端,并在主进程与Zookeeper服务端之间建立长连接;/nVIP进程对当前状态的主节点中的主进程进行监测以确定当前状态的主节点的健康状态,并在当前状态的主节点发生故障时,由作为当前状态的主节点中的VIP进程删除当前状态的主节点中的VIP,则由剩余的节点以抢占方式确定唯一VIP,以将抢占到唯一VIP的节点作为主节点,并由所述VIP对外提供服务。/n

【技术特征摘要】
1.实现分布式集群高可用的方法,其特征在于,包括:
在分布式集群的每个节点中部署VIP进程,在每个节点的主进程中部署Zookeeper客户端,并在主进程与Zookeeper服务端之间建立长连接;
VIP进程对当前状态的主节点中的主进程进行监测以确定当前状态的主节点的健康状态,并在当前状态的主节点发生故障时,由作为当前状态的主节点中的VIP进程删除当前状态的主节点中的VIP,则由剩余的节点以抢占方式确定唯一VIP,以将抢占到唯一VIP的节点作为主节点,并由所述VIP对外提供服务。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
由Zookeeper客户端在Zookeeper服务端中建立包含节点名称的持久节点及临时节点,若当前状态的主节点发生故障时,由VIP进程通过判断临时节点是否存在以确定主进程的健康状态。


3.根据权利要求1所述的方法,其特征在于,所述由剩余的节点以抢占方式确定唯一VIP的操作由剩余节点中所部署的VIP进程执行;
所述Zookeeper服务端保存各个节点基于用户发起的操作请求所对应生成的版本号,以在由剩余的节点以抢占方式确定唯一VIP的操作前还包括:
对Zookeeper服务端所保存的版本号进行一致性校验。


4.根据权利要求3所述的方法,其特征在于,所述用户发起的操作请求由读操作、写操作、删除操作、迁移操作或者备份操作中的一种或者几种的任意组合。


5.根据权利要求3所述的方法,其特征在于,将抢占到唯一VIP的节点作为主节点之后,还包括:卸载发生故障的主节点中的VIP。


6.根据权利要求1至5中任一项所述的方法,其特征在于,每个节点中部署的VIP进...

【专利技术属性】
技术研发人员:张军
申请(专利权)人:华云数据控股集团有限公司
类型:发明
国别省市:江苏;32

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

1