ZooKeeper 分布式协调服务介绍
0. 说明
从自己的独立博客迁移,该部分为 Zookeeper分布式协调服务介绍
原文链接 ZooKeeper 指南
1. ZooKeeper 简介
[官方介绍]
ZooKeeper 是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务。
所有这些类型的服务都以分布式应用程序的某种形式使用。每次实施它们都需要做很多工作来修复不可避免的错误和竞争条件。由于难以实现这些类型的服务,应用程序最初通常会吝啬它们,这使得它们在变化的情况下变得脆弱并且难以管理。即使正确完成,这些服务的不同实现也会在部署应用程序时导致管理复杂性。
[通俗理解]
Zookeeper 是一个分布式协调服务,就是为用户的分布式应用程序提供协调服务。
只要半数以上的节点存活, Zookeeper 就能正常提供服务。
Zookeeper 在底层管理(存储、读取)用户提交的数据,为数据提供节点监听的服务。
2. 分布式协调框架
2.1 分布式框架的好处
- 可靠性:一个或几个节点的崩溃不会导致整个集群的崩溃
 - 可伸缩性:可以通过动态添加主机的方式以及修改少量配置文件,以便提升集群性能
 - 透明性:隐藏系统的复杂性,对用户体现为一个单一的应用
 
2.2 分布式框架的弊端
- 竞态条件:一个或多个主机尝试运行一个应用,但是该应用只需要被一个主机所运行
 - 死锁:两个进程分别等待对方完成
 - 不一致性:数据的部分丢失
 
分布协调服务,解决分布式服务在工作时产生的问题
- 竞态条件(多个主机同时对一个文件进行操作,俗称抢资源)
 - 死锁(多个主机互相等待对方完成)
 - 不一致性(资源文件丢失或者主机宕机)
 
典型应用场景: Hadoop 高可用的自动容灾
3. ZooKeeper 的作用
- 名字服务 //标识集群中的所有节点,(节点能够向其注册并产生唯一标识)
 - 配置管理 //存储配置文件,以便共享
 - 集群管理 //添加或删除节点同时,实时更新集群信息
 - 选举机制
 - 锁和同步服务 //当文件进行修改,会将其进行加锁,防止多用户同时写入
 - 高有效性数据注册
 
ZooKeeper 分布式协调服务介绍的更多相关文章
- zookeeper 分布式协调服务
		
分布式协调服务作用是将多机协调的职责从分布式应用中独立出来,以减少系统的耦合性和增加扩展性. 而zookeeper采用分布式中经典的主从架构:master->slave,通常以动态的存储分布式应 ...
 - Zookeeper分布式协调服务
		
1.zookeeper是一个分布式协调的服务. 2.安装zookeeper的软件的机器,我们称之为zk server 3.zk里面的角色有leader.follower.observer,注意只有一个 ...
 - zookeeper分布式协调服务的使用一
		
Zookeeper是一个高性能,分布式的应用协调服务. 提供服务: 1.集群成员的管理(Group Membership) 2.分布式锁(Locking) 3.选主(Leader Election) ...
 - 分布式系统理论基础8:zookeeper分布式协调服务
		
本文转自 https://www.cnblogs.com/bangerlee/p/5268485.html 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到 ...
 - 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比
		
分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的J ...
 - 分布式协调服务Zookeeper扫盲篇
		
分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协 ...
 - 中小型研发团队架构实践:分布式协调服务ZooKeeper
		
一.ZooKeeper 是什么 Apache ZooKeeper 由 Apache Hadoop 的子项目发展而来,于 2010 年 11 月正式成为了 Apache 的顶级项目. 相关厂商内容 优秀 ...
 - 分布式协调服务ZooKeeper工作原理
		
分布式协调服务ZooKeeper工作原理 原创 2016-02-19 杜亦舒 性能与架构 性能与架构 性能与架构 微信号 yogoup 功能介绍 网站性能提升与架构设计 大数据处理框架Hadoop.R ...
 - 分布式协调服务-Zookeeper
		
什么是 zookeeper? Zookeeper 是google的chubby一个开源实现,是hadoop的分布式协调服务 它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 ...
 
随机推荐
- Python模块:time模块详解(转)
			
在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. 在开始之前,首先要说明这几点: ...
 - Tomcat专题
			
1. 修改端口 tomcat-7.0.70/conf/server.xml <Connector port=" protocol="HTTP/1.1"
 - Elasticsearch java客户端调用cat服务
			
开发环境,测试环境,预发环境和生产环境一般相互隔离的,使用开发环境或者测试环境可以使用cat来查看索引的情况 例如: 但预防环境和测试环境是不允许访问的,那怎么办呢? 可以使用后台来查看上述信息,提供 ...
 - 小程序实例:用js方法splict()、indexOf()、push()、replace()等操作数组Array的增删改查
			
一.增加数组子级 1.Array.push() 定义和用法 向数组的末尾处添加一个或多个子集,并返回新数组的长度 语法 var array=["好","扎在那个" ...
 - 本地SQL数据库执行作业定时修改其他数据库内容
			
--exec sp_addlinkedserver 'xkp', ' ', 'SQLOLEDB', '192.168.66.66' 定义链接--exec sp_addlinkedsrvlogin ' ...
 - PHP开发环境安装说明书
			
php安装说明书 需要安装包可以拿U盘找技术--小豪拷贝. 一.安装对象和安装顺序 0 vcredist_x64.exe(Microsoft Visual C++ 运行时文件和操作系统组件) 1 ...
 - 记录怎样把安全证书导入到java中的cacerts证书库
			
这次项目上需要去证书中解析公钥所以这里分享下方法: 首先准备一个证书文件比如叫:test.crt(一般是cer结尾) 下一步准备把证书导入到导入java中的cacerts证书库里 方法如下: 比如本地 ...
 - 《码出高效 Java开发手册》第二章 面向对象
			
码云地址: https://gitee.com/forxiaoming/JavaBaseCode/tree/master/EasyCoding 第2章 面向对象 Object-Oriented Pro ...
 - C#转换成Json的方法集
			
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
 - POJ1269(KB13-D 计算几何)
			
Intersecting Lines Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16681 Accepted: 71 ...