ZooKeeper的概念原理
来源:互联网 发布:nginx 多个网站 编辑:程序博客网 时间:2024/04/29 10:22
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式式应用程序可以基于它实现同步服务,配置维护和命名服务等。ZooKeeper是Hadoop的一个子项目。在分布式应用中,由于工程师不能很好的使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。ZooKeeper目的于此。
ZooKeeper的基本概念
角色
ZooKeeper中的角色主要分三类,如下:
角色描述领导者(Leader)负责投票的发起和决议,更新系统状态跟随着(Follower)接收客户请求并向客户端返回结果,在选主过程中参与投票观察者(Observer)可以接收客户端连接,将请求转发给Leader节点,Observer不参与投票过程,只同步Leader的状态。Observer目的为了扩展系统,提高读取速度系统模型如图:
设计目的
最终一致性:client不论连接到哪个Server,展示的都是同一个视图,这是Zookeeper最重要的性能
可靠性:简单、健壮、良好的性能,如果消息M被一台服务器接受,将被所有服务器接受
实时性:Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新消息,或者服务器的实效的信息。但由于网络延时等原因,Zookeeper不能保证两个客户端能同时得到更新的数据,如果需要更新数据,应该在数据之前调用sync()接口
等待无关(wait-free):慢的或者失效的client不得干预快速的client请求,使得每个client都能有效的等待。
原子性:更新只能成功或者失败,没有中间状态
顺序性:包括全局有序或者偏序两种,全局有序是指如果单台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面。
1 0
- ZooKeeper的概念原理
- Zookeeper的核心概念
- 【Zookeeper】2.ZooKeeper的几个重要概念
- Zookeeper的原理介绍
- Zookeeper 的工作原理
- ZooKeeper的工作原理
- Zookeeper的原理介绍
- ZooKeeper的工作原理
- zookeeper的工作原理
- Zookeeper监控的原理
- Zookeeper的原理
- zookeeper的工作原理
- zookeeper的工作原理
- Zookeeper的原理
- Zookeeper(7)-Zookeeper的原理Paxos
- Zookeeper概念
- Zookeeper的原理介绍<转>
- ZooKeeper的原理及使用
- ;练习二1002
- Asp.net WebApi版本控制
- Android自动化测试技巧
- leetcode---Balanced Binary Tree
- Spring的Bean组件
- ZooKeeper的概念原理
- form标签 enctype 属性
- 迭代器求立方根
- AlertDialog和AlertDialog.Builder
- SQL嵌套语句执行顺序
- android性能调优工具TraceView的使用
- 一些蓝牙(Bluetooth)相关的技术术语表
- 点集的视点特征直方图的评估
- java.lang.ExceptionInInitializerError的原因