分布式协调服务作用是将多机协调的职责从分布式应用中独立出来,以减少系统的耦合性和增加扩展性。

而zookeeper采用分布式中经典的主从架构:master->slave,通常以动态的存储分布式应用程序中关键的元数据

来达到分布式协调服务的作用,可提供如leader选举、负载均衡、服务发现等服务。

整体架构:

zookeeper采用树形状层级化的内存命名空间,结构类似于文件系统的目录结构,其中每个目录节点称为ZNode,

不同的是每个ZNode每个均可以存储数据,同时具有data、type、version、children、ACL等属性。

其中data:表示存储的实际的数据;type:znode类型、version:节点版本,children:子节点、ACL(Access Control List):权限管理

的一个配置List,定义谁可以对该ZNode进行访问、修改、删除等操作;同时ZNode的数据访问具有原子性,即保证事务请求在各个服务器上

应用的一致性,要嘛均应用,要嘛均不应用。

ZNode类型

Persistent(持久化节点)、Ephemeral(临时节点,伴随session的生命周期)、sequence(唯一命名,文件名默认追加唯一的自增数字,该类型不会单独存在)

根据三种节点类型,衍生出ZNode四种类型:Persistent、Ephemeral、Persistent_sequence、Ephemeral_sequence

Watcher监听器:

zookeeper的发布/通知机制,当ZNode发生变化,触发watcher,client端可接收到变更通知,而watcher有一个重要的特征:triggered once即watcher一旦触发,

就会被删除,之后需要客户端重新注册watcher继续监听znode的变化,以变快速作出响应。

Seesion:

seesion作为客户端与zookeeper之间的通信通道,现实环境中zookeeper一般是以集群的模式搭建的,而服务器个数推荐奇数,客户端只需要随机的

选择一个服务器建立session即可。

session具有时序性、容错性等特点,如时序性即当客户端发送消息,zookeeper会按照消息当时序进行记录。容错性方面,zookeeper以集

群当形式搭建,zookeeper会保证各个服务器的一致性。当客户端连接的服务器宕机,session会自动连接到其他服务器上。

草稿待续。。。

zookeeper 分布式协调服务的更多相关文章

  1. ZooKeeper 分布式协调服务介绍

    0. 说明 从自己的独立博客迁移,该部分为 Zookeeper分布式协调服务介绍 原文链接  ZooKeeper 指南 1. ZooKeeper 简介 [官方介绍] ZooKeeper 是一种集中式服 ...

  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

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

  6. 分布式协调服务Zookeeper集群之ACL篇

    分布式协调服务Zookeeper集群之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zookeeper ACL相关知识概览 1>.zookeeper官方文档(h ...

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

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

  8. 分布式协调服务Zookeeper集群搭建

    分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...

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

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

随机推荐

  1. 美团点评SQL优化工具SQLAdvisor开源快捷部署

    美团点评SQL优化工具SQLAdvisor开源快捷部署 git clone https://github.com/Meituan-Dianping/SQLAdvisor.gityum install ...

  2. maven 三个仓库表

    https://search.maven.org ,http://www.mvnrepository.com/ http://maven.apache.org

  3. linux-ntp-10

    Unix/linux类:ntp.aliyun.com,ntp1-7.aliyun.com windows类: time.pool.aliyun.com s1a.time.edu.cn 北京邮电大学 s ...

  4. MFC多文档获取窗口句柄

    GET App   AfxGetInstanceHandle()    AfxGetApp()   GET Frame->View->Document     SDI    AfxGetM ...

  5. PWM 定义

    简单的说,比如你有5V电源,要控制一台灯的亮度,有一个传统办法,就是串联一个可调电阻,改变电阻,灯的亮度就会改变.还有一个办法,就是PWM调节.不用串联电阻,而是串联一个开关.假设在1秒内,有0.5秒 ...

  6. std::string 和 CString问题

    std::string stdTemp; CString strTemp; strTemp = stdTemp;    ;//这一步直接赋值可不可以 因为CString可以接受const char*的 ...

  7. tensorflow的变量作用域

    一.由来 深度学习中需要使用大量的变量集,以往写代码我们只需要做全局限量就可以了,但在tensorflow中,这样做既不方便管理变量集,有不便于封装,因此tensorflow提供了一种变量管理方法:变 ...

  8. D2. Equalizing by Division (hard version)

    D2. Equalizing by Division (hard version) 涉及下标运算一定要注意下标是否越界!!! 思路,暴力判断以每个数字为到达态最小花费 #include<bits ...

  9. 对AC自动机+DP题的一些汇总与一丝总结 (2)

    POJ 2778 DNA Sequence (1)题意 : 给出m个病毒串,问你由ATGC构成的长度为 n 且不包含这些病毒串的个数有多少个 关键字眼:不包含,个数,长度 DP[i][j] : 表示长 ...

  10. 如何让你的JS代码写的更漂亮

    感觉这篇文章总结的js的规范写法不错,拿来收藏.转自:https://mp.weixin.qq.com/s/AtR94IL9BW9EXOTnKOilmA 1. 按强类型风格写代码 JS是弱类型的,但是 ...