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的分布式协调服务 它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 ...
随机推荐
- 关于Mybatis与Spring整合之后SqlSession与mapper对象之间数量的问题。
1,sqlsession的真实类型和数量 由于使用spring管理bean,当我们在代码中需要使用这个bean的时候,会首先去容器中找,第一次需要调用MapperFactoryBean的getObje ...
- HTTPS加密越来越流行,为何要加密?
继谷歌之后,国内最大的搜索引擎百度在2015年5月实现了全站HTTPS加密.搜狗搜索.360搜索.bing搜索.淘宝.天猫.知乎等也都实现了全站HTTPS加密,互联网即将迎来全网HTTPS加密时代. ...
- easyui datagrid 动态改变行背景色
/*根据查询条件查询调度单列表*/ function InitGrid(queryData) { $("#dg").datagrid({ loadMsg: "数据加载中, ...
- 调用百度api输出地址和城市查询出具体坐标系
在工作中遇到标题的内容,不知道如何写,后来我的领导写了一套代码,感觉很是厉害,特在此收藏,留作纪念 public static string GetResponse(string address, s ...
- Git 入门详解
Git git核心概念详解 什么是git git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布.最初目的是为更好地管理Linux内核开发而设计.应注意的是,这与GNU I ...
- java基础-基础语法
一.标识符 java中对各种变量.方法和类等要素命名的时候使用的字符序列称为标识符. java中标识符的命名规则:1.由字母.数字.下划线(_)以及美元符号($)组成 2.标识符应该以字母或者下划线开 ...
- php7 AES IOS Android
$key = 'SK7381DNSU#&#@DS'; //key的长度保持16位 加粗 标识 $cipher = "AES-128-ECB"; $iv_len = open ...
- css翻译名词术语
原文 本书译法 其它译法(未采用) CSS - 层叠样式表.级联样式表.样式单 cascade 层叠(机制) 级联 fallback 回退(机制.措施.方案) 后备.回落.降级 selector 选择 ...
- 微信小程序< 2 > ~ 微信小程序之头条新闻
简介 上一篇文章,主要是介绍下微信小程序的开发环境安装和微信组件什么的一些基础的开发内容,所以最近一直在业余找练手的机会.由于之前没有接触过JS,自己学习起来还算是比较的吃力,一点一点的来吧!要持久. ...
- WOSA/XFS PTR Form解析库—头文件
class AFX_EX_CLASS CNuXfsForm {public: CNuXfsForm(); ~CNuXfsForm(); /******************************* ...