2、Zookeeper原理及应用汇总
1 Zookeeper简介-分布式服务框架
ZooKeeper为分布式应用程序提供高效且可靠的分布式协调服务,提供的服务:配置管理、统一命名服务、分布式同步、组服务等,是Google Chubby的开源实现,Hadoop和Hbase的重要组件;是一个典型的分布式数据一致性的解决方案,分布式应用程序可基于它实现诸如数据发布/订阅、负载均衡、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。
ZooKeeper的设计目标就是将复杂易出错的分布式一致性服务封装起来,构成高效可靠的原语集,并以一系列简单易用的接口提供给用户使用,支持Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有lead才能提交proposer[申请]。在解决分布式数据一致性方面,ZooKeeper并没有直接采用Paxos算法,而是使用ZAB的一致性协议 。
ZooKeeper的基本运转流程:
1、选举Leader。 2、同步数据。
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、Leader要具有最高的zxid。
5、集群中大多数的机器得到响应并follow选出的Leader
2 常用命令
四字命令 | 功能描述 |
conf | 输出相关服务配置的详细信息。 |
cons | 列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息 |
dump | 列出未经处理的会话和临时节点。 |
envi | 输出关于服务环境的详细信息(区别于 conf 命令)。 |
8 Zookeeper结构
角色:Zookeeper=服务端+客户端
功能:Zookeeper=文件系统+通知机制
8.2通知机制
Zookeeper 的客户端和服务器通信采用长连接方式,客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,每个客户端和服务器通过心跳来保持连接,zookeeper会通知客户端。
8.3总结
注:Zoopkeeper 提供了一套很好的分布式集群管理的机制,从而可以设计出多种多样的分布式的数据管理模型,而不仅仅局限于下面提到的几个常用应用场景。
原文转自:https://blog.csdn.net/qq_28077405/article/details/81699823
转载请注明出处!
最新文章
- java使用代理 html2canvas 截屏 将页面内容生成图片
- Struts2 动态结果和带参数的跳转
- php5.5安装及phpmyadmin&;nginx配置php模块
- IOS开发的目录结构
- 与PostgreSQL相关的工具
- 【转】Javascript 严格模式详解
- (转)使用 /proc 文件系统来访问 Linux 内核的内容
- 合并傻子//区间dp
- 转载:iOS 推送的服务端实现
- 剑指Offer:从第一个字符串中删除第二个字符串中出现过的所有字符
- Java类的生命周期详解
- MIT Introduction to Computer Science and Programming (Lesson one )
- 如何在Python中从零开始实现随机森林
- ABP公共结构
- Dynamics CRM 通过RetrieveEntityRibbonRequest和RetrieveApplicationRibbonRequest导出实体的Ribbon XML
- asp.net table/gridview 合并列
- cf438E. The Child and Binary Tree(生成函数 多项式开根 多项式求逆)
- Linux中对swap分区的配置
- 轻量级浏览器Midori
- JDBC 中preparedStatement和Statement区别
热门文章
- ETL工具-Kattle:查询 HTTP/WebService
- PHP setrawcookie() 函数
- bzoj1293题解
- Django使用步骤
- NX二次开发-UFUN圆弧矩阵标记、起始角和结束角(弧度测量)、圆弧中心坐标和圆弧半径UF_CURVE_ask_arc_data(边可以用)
- 转-C/C++ new与malloc区别
- elementui tree 节点过滤加载对应子节点
- fastReport.net 初了解
- 自动ftp脚本,aix/linux 和 windows
- 知识图谱+Recorder︱中文知识图谱API与工具、科研机构与算法框架