继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Zookeeper简介及分布式概念

蓝山帝景
关注TA
已关注
手记 430
粉丝 46
获赞 150

1.概念

zookeeper用来协作分布式系统中的多个任务。一个协作任务是指涉及多个进程的任务,这种任务是为了协作或者是为了管理竞争。
协作意味着多个进程需要一起处理一个任务,一些进程处理某些操作,使得其他进程可以继续工作,典型如主-从工作模式,从节点空闲之后,发消息通知主节点可以接收数据继续工作。
竞争则不同,意味着两个进程不能同时工作,一个进程必须等待另一个进程处理完成后才能继续工作。同样在主从模式中,主节点只有一个,但是很多进程都想成为主节点,我们需要实现互斥排他锁。实际上,成为主节点就是获取锁的过程。

2.zookeeper怎么实现原语的同步?

虽然许多消息传递算法可以实现同步原语, 但是使用一个提供某种有序共享存储的组件往往更加简便, 这正是ZooKeeper所采用的方式。

3.zookeeper使用实例

1.选举集群的主节点,例如HBase数据仓库的主节点选取;
2.检测组件崩溃,例如Kafka,实现主体的发现,保持主体的生产和消费;
3.存储集群的元数据,例如SolrCloud;
4.主节点选取、崩溃检测和元数据存储一起使用,如应用系统;
5.作为控制器、实现数据分片、故障恢复和服务发现等。

4.分布式系统同步消息方式

1.通过网络进行信息交换;
2.通过读写共享存储。

5.注意事项

zookeeper使用共享存储模型实现应用写作和同步原语。因此需要进程和存储间进行网络同行,网络通信是分布式系统设计的基础。
1.消息延迟,消息传输可能发生任何延迟,比如网络堵塞;
2.处理器性能,操作系统的调度和超载也可能导致消息延迟;
3.时钟偏移,处理器时钟并不可靠。
当消息延迟很难判断,是哪些因素导致的,可能是进程崩溃、网络堵塞或者是其他情况。
zookeeper的设计简化了这些问题的处理,并不能消除问题,将这些问题在应用服务器上完全透明化。

斜体部分疑惑



作者:南风nanfeng
链接:https://www.jianshu.com/p/413914a6cfa3


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP