设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

NoSQL数据库的分布式算法

2013-7-23 14:13| 发布者: joejoe0332| 查看: 2152| 评论: 0|原作者: 伯乐在线|来自: 伯乐在线

摘要:   系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去。尽管NoSQL运动并没有给分布式数据处理带来根 ...

  下图的例子展示了bully算法的执行过程。使用静态ID作为度量,ID值更大的节点会胜出:


  1. 最初集群有5个节点,节点5是一个公认的协调者。
  2. 假设节点5挂了,并且节点2和节点3同时发现了这一情况。两个节点开始竞选并发送竞选消息给ID更大的节点。
  3. 节点4淘汰了节点2和3,节点3淘汰了节点2。
  4. 这时候节点1察觉了节点5失效并向所有ID更大的节点发送了竞选信息。
  5. 节点2、3和4都淘汰了节点1。
  6. 节点4发送竞选信息给节点5。
  7. 节点5没有响应,所以节点4宣布自己当选并向其他节点通告了这一消息。


  协调者竞选过程会统计参与的节点数目并确保集群中至少一半的节点参与了竞选。这确保了在网络隔离的情况下只有一部分节点能选出协调者(假设网络中网络会被分割成多块区域,之间互不联通,协调者竞选的结果必然会在节点数相对比较多的那个区域中选出协调者,当然前提是那个区域中的可用节点多于集群原有节点数的半数。如果集群被隔离成几个区块,而没有一个区块的节点数多于原有节点总数的一半,那就无法选举出协调者,当然这样的情况下也别指望集群能够继续提供服务了)。

  原文: highlyscalable.wordpress.com

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部