Chinaunix首页 | 论坛 | 博客
  • 博客访问: 434031
  • 博文数量: 43
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 518
  • 用 户 组: 普通用户
  • 注册时间: 2015-12-14 12:10
个人简介

邮箱:oxwangfeng@qq.com

文章分类

全部博文(43)

文章存档

2021年(1)

2018年(7)

2017年(9)

2016年(26)

我的朋友

分类: 服务器与存储

2016-01-28 14:08:09

背景技术

网络技术的发展,对数据的存储和访问提出了更高的要求,分布式数据库也应运而生。它的高扩展性和高可用性为许多需要不间断工作的网站解决了难题。

分布式数据库,顾名思义,由分布在多个计算机节点上的子数据库组成,我们称为数据节点,多个数据节点在逻辑上是相关的,地位是平等的。为了保证整个分布式数据库的正常运行,必须要即时了解每个数据节点的运行状态,是否能正常提供服务,即数据节点是否有效。而网络波动、硬件故障等原因,都可能导致数据节点失效,网络波动会引起数据节点的暂时性失效,而硬件故障则会到时数据节点永久失效,因此需要一种有效的手段来判定当前数据节点是否真的失效。



本方案主要有以下几个步骤:

1) 所有的应用节点选举或者随意选出一个节点作为仲裁节点;

2)当一个应用节点连接不上数据节点时,主动屏蔽掉到此数据节点的连接,并且广播到其他应用节点;

3) 其他节点收到广播后,判断数据节点是否能够连接上,如果连接不上,则通知仲裁节点;

4)仲裁节点收到大部分选举信息后,进行计算,如果超过一半应用节点认为这个数据节点失效,则仲裁节点认为这个数据节点失效;

其流程图如下:



阅读(3153) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~