0. 说明

  从自己的独立博客迁移,该部分为 Zookeeper分布式协调服务介绍

  原文链接  ZooKeeper 指南


1. ZooKeeper 简介

  [官方介绍]

  ZooKeeper 是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务。

  所有这些类型的服务都以分布式应用程序的某种形式使用。每次实施它们都需要做很多工作来修复不可避免的错误和竞争条件。由于难以实现这些类型的服务,应用程序最初通常会吝啬它们,这使得它们在变化的情况下变得脆弱并且难以管理。即使正确完成,这些服务的不同实现也会在部署应用程序时导致管理复杂性。

  [通俗理解]

  Zookeeper 是一个分布式协调服务,就是为用户的分布式应用程序提供协调服务。

  只要半数以上的节点存活, Zookeeper 就能正常提供服务。

  Zookeeper 在底层管理(存储、读取)用户提交的数据,为数据提供节点监听的服务。


2. 分布式协调框架

  2.1 分布式框架的好处

  1. 可靠性:一个或几个节点的崩溃不会导致整个集群的崩溃
  2. 可伸缩性:可以通过动态添加主机的方式以及修改少量配置文件,以便提升集群性能
  3. 透明性:隐藏系统的复杂性,对用户体现为一个单一的应用

  2.2 分布式框架的弊端

  1. 竞态条件:一个或多个主机尝试运行一个应用,但是该应用只需要被一个主机所运行
  2. 死锁:两个进程分别等待对方完成
  3. 不一致性:数据的部分丢失

  分布协调服务,解决分布式服务在工作时产生的问题

  1. 竞态条件(多个主机同时对一个文件进行操作,俗称抢资源)
  2. 死锁(多个主机互相等待对方完成)
  3. 不一致性(资源文件丢失或者主机宕机)

  典型应用场景: Hadoop 高可用的自动容灾


3. ZooKeeper 的作用

  1. 名字服务      //标识集群中的所有节点,(节点能够向其注册并产生唯一标识)
  2. 配置管理      //存储配置文件,以便共享
  3. 集群管理      //添加或删除节点同时,实时更新集群信息
  4. 选举机制
  5. 锁和同步服务    //当文件进行修改,会将其进行加锁,防止多用户同时写入
  6. 高有效性数据注册

ZooKeeper 分布式协调服务介绍的更多相关文章

  1. zookeeper 分布式协调服务

    分布式协调服务作用是将多机协调的职责从分布式应用中独立出来,以减少系统的耦合性和增加扩展性. 而zookeeper采用分布式中经典的主从架构:master->slave,通常以动态的存储分布式应 ...

  2. Zookeeper分布式协调服务

    1.zookeeper是一个分布式协调的服务. 2.安装zookeeper的软件的机器,我们称之为zk server 3.zk里面的角色有leader.follower.observer,注意只有一个 ...

  3. zookeeper分布式协调服务的使用一

    Zookeeper是一个高性能,分布式的应用协调服务. 提供服务: 1.集群成员的管理(Group Membership) 2.分布式锁(Locking) 3.选主(Leader Election) ...

  4. 分布式系统理论基础8:zookeeper分布式协调服务

    本文转自 https://www.cnblogs.com/bangerlee/p/5268485.html 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到 ...

  5. 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比

    分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的J ...

  6. 分布式协调服务Zookeeper扫盲篇

    分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协 ...

  7. 中小型研发团队架构实践:分布式协调服务ZooKeeper

    一.ZooKeeper 是什么 Apache ZooKeeper 由 Apache Hadoop 的子项目发展而来,于 2010 年 11 月正式成为了 Apache 的顶级项目. 相关厂商内容 优秀 ...

  8. 分布式协调服务ZooKeeper工作原理

    分布式协调服务ZooKeeper工作原理 原创 2016-02-19 杜亦舒 性能与架构 性能与架构 性能与架构 微信号 yogoup 功能介绍 网站性能提升与架构设计 大数据处理框架Hadoop.R ...

  9. 分布式协调服务-Zookeeper

    什么是 zookeeper? Zookeeper 是google的chubby一个开源实现,是hadoop的分布式协调服务 它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 ...

随机推荐

  1. 第七章 过滤器 Filter(二)

    一  过滤器API 由容器实现的接口 –javax.servlet.Filter –javax.servlet.FilterChain –javax.servlet.FilterConfig 四个包装 ...

  2. postgreSql 常用查询总结

    1. 日期格式转化(参考) select beg_time, end_time, extract(epoch from to_timestamp(end_time,'yyyy-mm-dd-HH24-M ...

  3. (转)Java多线程学习(吐血超详细总结)

    本文转自:http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能 ...

  4. es6学习笔记4--数组

    数组的扩展 Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据 ...

  5. stack堆栈容器、queue队列容器和priority_queue优先队列容器(常用的方法对比与总结)

    stack堆栈是一个后进先出的线性表,插入和删除元素都在表的一端进行. stack堆栈的使用方法: 采用push()方法将元素入栈: 采用pop()方法将元素出栈: 采用top()方法访问栈顶元素: ...

  6. 深入出不来nodejs源码-V8引擎初探

    原本打算是把node源码看得差不多了再去深入V8的,但是这两者基本上没办法分开讲. 与express是基于node的封装不同,node是基于V8的一个应用,源码内容已经渗透到V8层面,因此这章简述一下 ...

  7. vue项目webpack打包后图片路径错误

    首先项目是vue-cli搭建的,项目结构如下: 然后发现在css里写的图片引用地址在开发时正常显示,但在打包扔上服务器之后报错 报的是404,路径前面多了/static/css,不知道为啥. 在自己慢 ...

  8. .net 多线程的使用(Thread)

    上篇 net 同步异步 中篇 多线程的使用(Thread) 下篇 net 任务工厂实现异步多线程 Thread多线程概述 上一篇我们介绍了net 的同步与异步,我们异步演示的时候使用的是委托多线程来实 ...

  9. arcgis按要求删除点位

    第一篇博客 嘻嘻 上图 1

  10. ADO.NET获取数据(DataSet)同时获取表的架构

    普通的ADO.NET获取DataSet的写法如下: using System.Configuration; using System.Data; using System.Data.SqlClient ...