1 基本概念

1.1 什么是ZooKeeper

zookeeper是为分布式应用所设计的高可用、高性能且一致的开源协调服务

1.2 Zookeeper的特点

  • 顺序一致性

  • 原子性
  • 单一视图
  • 可靠性
  • 实时性

2 角色

2.1 角色划分

ZooKeeper集群当中,集群中的服务器角色有两种Leader和Learner,Learner角色又分为Observer和Follower

所有角色功能如下

  • 领导者(leader),负责进行投票,更新系统状态

  • 学习者(learner),包括跟随者(follower)和观察者(observer),

  • follower用于接受客户端请求并向客户端返回结果,在选主过程中参与投票

  • Observer可以接受客户端请求,将写请求转发给leader,但observer不参加投票过程。

  • 客户端(client),请求发起方

2.2 为什么要有Observer

ZooKeeper的3.3.3版本以后,又添加了一种新角色Observer。它与follower的唯一区别是,Observer不参与投票,只是简单的接收投票结果。

为什么要这么设计呢?ZooKeeper每添加一台服务时要进行选举,而ObServer没有选举和被选举权,因此,我们增加再多的Observer,也不会影响集群的写性能

ZooKeeper入门(一)的更多相关文章

  1. 分布式进阶(十六)Zookeeper入门基础

    Zookeeper入门基础 前言 在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据.如果在创建znode时Flag设置为EPHEMERAL,那么当 ...

  2. zookeeper 入门知识

    作为开启分布式架构的基石,除了必会还有的选么 自己的一些理解,有错误的话请一定要给予指正! 一.是什么? 分布式数据一致性的解决方案. 二.有什么用 数据的发布/订阅(配置中心)  . 负载均衡(du ...

  3. 学习Zookeeper之第1章Zookeeper入门

    第 1 章 Zookeeper入门 1.1 概述 1.2 特点 1.3 数据结构 1.4 应用场景 统一命名服务 统一配置管理 统一集群管理 服务器动态上下线 软负载均衡 1.5 下载地址 第 1 章 ...

  4. [转帖]Zookeeper入门看这篇就够了

    Zookeeper入门看这篇就够了 https://my.oschina.net/u/3796575/blog/1845035 Zookeeper是什么 官方文档上这么解释zookeeper,它是一个 ...

  5. Zookeeper入门(一)之概述

    今天主要讲这么几个方面? 1.分布式应用: 2.什么是Zookeeper: 3.使用Zookkeeper有什么好处: ZooKeeper是一种分布式协调服务,用于管理大型主机.在分布式环境中协调和管理 ...

  6. ZooKeeper入门(四)

    入门:使用ZooKeeper的协调分布式应用 这个文档使你对ZooKeeper快速入门,它主要针对想尝试它的开发者.并且包含简单的单机的ZooKeeper服务的安装说明,一些验证是否运行的命令,和一个 ...

  7. Zookeeper 入门第一篇

    转载原文地址: ZooKeeper学习总结 第一篇:ZooKeeper快速入门 ZooKeeper学习总结 第二篇:ZooKeeper深入探讨 ZooKeeper学习第一期---Zookeeper简单 ...

  8. java springboot整合zookeeper入门教程(增删改查)

    java springboot整合zookeeper增删改查入门教程 zookeeper的安装与集群搭建参考:https://www.cnblogs.com/zwcry/p/10272506.html ...

  9. Zookeeper入门看这篇就够了!!

    Zookeeper是什么 官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名 ...

  10. zookeeper入门学习

    1.基本概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的 ...

随机推荐

  1. JAVA 加密方法

    1. RSA非对称加密 生成密钥对代码: //生成秘钥对 public static KeyPair getKeyPair() throws NoSuchAlgorithmException { Ke ...

  2. C++该typeid和dynamic_cast

    1.typeid在没有虚拟函数的(不相关的动态绑定),typeid它只返回操作对象的实际类型 2.typeid涉及到动态联编问题时(使用基类指针p或者引用p操作派生类对象),typeid(p)返回基类 ...

  3. js table鼠标点击时变色

    <head>    <title></title>    <script type="text/javascript">      ...

  4. 汇编实现获取CPU信息

    这是文章最后一次更新,加入了TLB与Cache信息等资料前言:论坛上面有人不明白CPUID指令的用法,于是就萌生写这篇文章的想法,若有错误话请大侠指出,谢谢了 ^^论坛的式样貌似有问题,若式样问题导致 ...

  5. WAMP采用别名时ThinkPHP5项目设置方法

    打开public目录下的.htaccess文件,并在其中添加 RewriteBase /xxx<IfModule mod_rewrite.c> Options +FollowSymlink ...

  6. background-blend-mode叠加代码

    <html> <head> <style> .container { background: url("p1.jpg"), url(" ...

  7. 微信小程序把玩(二十一)switch组件

    原文:微信小程序把玩(二十一)switch组件 switch开关组件使用主要属性: wxml <!--switch类型开关--> <view>switch类型开关</vi ...

  8. WPF使用Font-Awesome字体

    官方网站:https://fontawesome.com/ 使用教程: 学习WPF——使用Font-Awesome图标字体 - liulun - 博客园https://www.cnblogs.com/ ...

  9. ArrayList(1.8)

    public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...

  10. UWP开发:获取用户当前所在的网络环境(WiFi、移动网络、LAN…)

    原文:UWP开发:获取用户当前所在的网络环境(WiFi.移动网络.LAN-) UWP开发:获取用户当前所在的网络环境: 在uwp开发中,有时候,我们需要判断用户所在的网络,是WiFi,还是移动网络,给 ...