Zookeeper(分布式环境中数据强一致性)简介
2015-11-06 12:15
281 查看
1.基本概念:
(1).是一个针对大型分布式系统的可靠协调系统。
(2).目标就是封装好复杂,易出错的关键服务。
Zookeeper的特点:数据一致性,可靠性,实时性,等待无关,原子性,顺序性。
使用Zookeeper的系统有:
HDFS,Yarn,Storm,Hbase,Flume,Dubbo,Metaq
2. Zookeeper集群由Server组成,
每个server在内存中存储一份数据
Zookeeper启动时,将从实例中选举一个leader(paxos协议)
leader负责处理数据更新等操作(zab协议)
paxos核心思想是当多数server写成功时,则任务数据写成功。例如:有3个server,则两个写成功即可。
所以server一般为奇数个。
每个节点在Zookeeper中叫做znode,并且有且只有一个路径标识。
3.Zookeeper的应用场景
(1)统一命名服务
(2)配置管理(同步更新)具体实现:可将配置信息写到Zookeeper的一个znode上,各个节点监听这个znode,一旦znode中的数据修改,Zookeeper将通知各个节点。
(3)集群管理 典型应用场景:Hbase中master状态监听与选举
(4)分布式通知与协调
(5)分布式锁
(6)分布式队列
(1).是一个针对大型分布式系统的可靠协调系统。
(2).目标就是封装好复杂,易出错的关键服务。
Zookeeper的特点:数据一致性,可靠性,实时性,等待无关,原子性,顺序性。
使用Zookeeper的系统有:
HDFS,Yarn,Storm,Hbase,Flume,Dubbo,Metaq
2. Zookeeper集群由Server组成,
每个server在内存中存储一份数据
Zookeeper启动时,将从实例中选举一个leader(paxos协议)
leader负责处理数据更新等操作(zab协议)
paxos核心思想是当多数server写成功时,则任务数据写成功。例如:有3个server,则两个写成功即可。
所以server一般为奇数个。
每个节点在Zookeeper中叫做znode,并且有且只有一个路径标识。
3.Zookeeper的应用场景
(1)统一命名服务
(2)配置管理(同步更新)具体实现:可将配置信息写到Zookeeper的一个znode上,各个节点监听这个znode,一旦znode中的数据修改,Zookeeper将通知各个节点。
(3)集群管理 典型应用场景:Hbase中master状态监听与选举
(4)分布式通知与协调
(5)分布式锁
(6)分布式队列
相关文章推荐
- 转(解决GLIBC_2.x找不到的编译问题)
- Android——服务
- Exchange Online Protection Reports
- Mysql日期函数使用汇总
- C++ Primer 学习笔记_26_标准I/O库(续) --文件的输入与输出、字符串流
- 修改RHEL7/centos7网卡为eth0
- C++ Primer 学习笔记_25_标准I/O库 --面向对象的标准库、条件状态、输出缓冲区的管理
- C++ Primer 学习笔记_24_函数(续3) --重载函数、指向函数的指针
- Windows8 Metro开发 (03) : AppBar控件之BottomAppBar
- C++ Primer 学习笔记_23_函数(续2) --局部对象、内联函数、类的成员函数
- 42 个移动端启动页面优化 Tips
- hiho 1228 Mission Impossible 6
- C++ Primer 学习笔记_22_函数(续1) --return语句、递归调用、函数声明
- css定义有序列表样式以及counter-reset、counter-increment 的使用
- 软件项目版本号的命名规则及格式
- PHP原生DOM对象操作XML
- UVALive-3126 Taxi Cab Scheme (DAG的最小路径覆盖)
- C++ Primer 学习笔记_21_函数 --函数定义、参数传递
- iOS中设计一个Block代码执行的UIAlertView
- Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法