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. 高有效性数据注册

最新文章

  1. JavaScript 随笔1
  2. plt和got
  3. 《Mail电子邮件日志存储的管理》RedHat6.3——以一举三
  4. hihocoder #1224 : 赛车 dfs
  5. Android studio 下的 NDK 配置方法和注意事项
  6. 侯老师的话(Application Framework)
  7. javascript 回调函数应用
  8. MFC注册表操作
  9. redis3.05安装
  10. Java I/O基础
  11. 预攻击 局域网 Windows 查看其它在线设备
  12. NEED TO DO
  13. org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse
  14. JavaScript函数重载
  15. 自己对Java的一点看法
  16. Java并发编程笔记之LinkedBlockingQueue源码探究
  17. P1005 矩阵取数游戏
  18. 【刷题】LOJ 6009 「网络流 24 题」软件补丁
  19. Sql Over的用法
  20. Curious Array CodeForces - 407C (高阶差分)

热门文章

  1. Git 撤销与修改
  2. ELK之filebeat
  3. 网络安全事件频发,全站HTTPS势在必行
  4. Spring事务内方法调用自身事务 增强的三种方式
  5. 论type与object的关系----Python创世纪
  6. Spring学习之路-注解
  7. Spring Security认证配置(一)
  8. winform窗体 种类、普遍常用的【属性】
  9. SpringBoot整合Druid数据连接池
  10. C# 如何防止重放攻击