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. 前端模块化之CommonJS,ES6,AMD,CMD

    最近在搞跨平台解决方案,讨论关于模块划分的问题以及如何尽量多的复用逻辑代码.于是就有了此文章,之前的博客也写过,不过由于主机商跑路,宝贵的资源也就没了,说多了都是泪~ 这里按模块化发展的历史回溯的时间 ...

  2. Golang 函数function

    函数function Go函数不支持嵌套.重载和默认参数 但支持以下特性: 无需声明原型 不定长度变参 多返回值 命名返回值参数 匿名函数 闭包 定义函数使用关键字func,且左大括号不能另起一行 函 ...

  3. gitlab之gitlab-ci和gitlab-runner<二>

    1.使用 该版未接入k8s,下一篇会写接入k8s. 配置项目使用gitlab-ci和gitlab-runner,在项目的根目录中添加.gitlab-ci.yml文件,用于触发pipeline. .ho ...

  4. tcp/ip通信中udp头部结构udphdrp->check校验计算

    通过raw socket修改通信数据后,可通过函数 set_udp_checksum1 重新校验计算iph->check值 在http://www.cnblogs.com/dpf-10/p/78 ...

  5. 对于dll(动态链接库)的理解

    之前,尝试过写过dll,但是对于dll的理解还是不够深刻吧.今天,又加深了对于dll的理解程度,故记下以免以后忘记. 无论是c还是c++,我们通常先将源文件编译成中间代码,在Windows下是&quo ...

  6. C# WebApi 返回JSON

    在默认情况下,当我们新建一个webapi项目,会自动返回XML格式的数据,如果我们想返回JSON的数据,可以设置下面的三种方法. 1. 不用改配置文件,在Controller的方法中,直接返回Http ...

  7. Http请求帮助类

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  8. oracle中scott/tiger、sys、SYSDBA、system都是什么用

    scott 是个演示用户,是让你学习ORACLE用的 SYSDBA 不是用户,可以认为是个权限,超级权限详细点说吧            超级用户分两种 SYSDBA和SYSOPTSYSOPT 后面3 ...

  9. sql语句将查询的结果拼接成字符串

    表样: sqlserver: --方法1 DECLARE @STR VARCHAR(8000) SELECT @STR=ISNULL(@STR+',','')+userID FROM (SELECT  ...

  10. Java开发中常用的设计模式(一)---工厂模式

    一. 准备工作 1. 本文参考自  自己理解的工厂模式,希望对大家有所帮助 二. 开始 以汽车工厂为例,首先有个汽车类的接口 Car,里面有个开车的方法 drive(),然后有个宝马车的类 BMW 和 ...