zoukankan      html  css  js  c++  java
  • ZooKeeper 分布式协调服务介绍


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

    且将新火试新茶,诗酒趁年华。
  • 相关阅读:
    小程序mpvue 关闭eslint
    微信开发者工具更新后报错navigationBarBackgroundColor不是hexColor?
    微信小程序图片裁剪插件image-cropper
    A小程序跳转到B小程序,B小程序如何获取参数?
    EditText取消焦点
    RxJava + Retrofit
    TextView显示内容不全
    Android之StrictMode
    CoordinatorLayout实现的效果(标题栏效果)
    Rxbus的使用
  • 原文地址:https://www.cnblogs.com/share23/p/9707841.html
Copyright © 2011-2022 走看看