白白白

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

集群中为什么需要选举: http://f.dataguru.cn/thread-575585-1-1.html

集群分类:

  集群本身有很多种类:如tomcat集群,集群里每个服务都是对等的,所以其自身不存在leader之说。

  另外一类,如fastDfs,其依赖独特的HASH算法,建立文件名和路径之间的映射关系,写操作都是通过namenode分发到各datanode上,算法保证了文件名的独一无二,也不存在leader的说法。

  还有memcache集群,集群里的机器之间彼此无心跳,通过一致性hash尽可能将key值的存储分散化,降低单一memcahe服务器down机的影响。

    还有一类是主从复制,主节点负责写,从节点负责读,提高读的性能,从节点定期通过心跳与主节点沟通,一旦主节点挂掉了,从节点马上接手主节点的任务,应该来讲,zookeeper集群是最接近这一种的。

  主节点暂时失去响应,如瞬时负载过高,网络拥塞或者其他原因导致主节点暂时失去响应,超过响应超时时间,这个时候从节点启动,承担起leader的职责,但是原先的主节点又恢复了服务。这个时候,如果没有选举机制(不能仅仅自己宣告自己是leader,还要广而告之,让其他服务器或者客户端知道自己是leader),有可能会存在两个leader节点,导致集群发生混乱。

 

 

节点本身 无状态,快速失败(状态存到zookeeper或redis中 )

 

 

  

posted on 2017-05-11 15:41  道至简  阅读(147)  评论(0)    收藏  举报