概述

  • Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目
  • 在大数据技术生态圈中,zookeeper(动物管理员),Hadoop(大象),Hive(蜜蜂),Pig(猪)

工作机制

  • zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架
  • 负责存储管理数据
    • 接受观察者的注册
    • 通知已经注册的观察者做出反应
    • 实现集群中类似Master/Slave管理模式
  • zookeeper = 文件系统 + 通知机制
    1. 服务上线
    2. 获取当前服务列表
    3. 服务器节点下线
    4. 服务器节点上下线事件通知
    5. 重新获取服务器列表,注册监听

特点

分布式和集群的区别:

无论分布式还是集群,都是很多人在做事情,具体区别如下

例子:有一个饭店,越来越火爆,招聘工作人员

  • 分布式:招聘一个厨师,1个服务员,1个前台,3个人负责的工作不同,最终都是为饭店工作
  • 集群:招聘5个服务员,5个人的工作一个
  1. 一个leader和多个follower来组成的集群
  2. 集群中只要有半数以上的节点存活,Zookeeper就能正常工作
  3. 全局数据唯一性,每台服务器都保存一份相同的数据副本,无论哪台client连接哪台server,数据都是一致的
  4. 数据更新原子性,一次数据要么成功,要么失败
  5. 实时性,在一定的时间范围内,client能读取到最新数据
  6. 更新的请求按照顺序执行,会按照发过来的数据,逐一执行

数据结构

  • zookeeper数据模型的结构与linux文件系统很类似,整体上可以看作是一棵树,每个节点称作一个ZNode(ZookeeperNode)
  • 每一个ZNode默认能够存储1MB的数据(元数据),每个ZNode的路径是唯一的
    • 元数据(Metadata),又称中介数据,中继数据,为描述数据的数据,主要是描述数据属性信息,同来支持如指示存储位置,历史记录,资源查找,文件记录等功能

应用场景

  • 提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等

统一命名服务

  • 在分布式环境下,对环境进行统一命名

统一配置管理

  • 分布式环境下进行配置同步

  • 将配置管理交给zookeeper

    1. 将配置信息写到某个节点上
    2. 每个客户端都监听这个节点
    3. 一旦节点中的数据被修改,通知每台服务器

服务器节点动态上下线

  • 客户端能够获取服务器节点的上下线情况

软负载均衡

  • 统计每台服务器的访问情况,访问次数最少的节点去处理最新的请求(雨露均沾)

分布式技术-Zookeeper概述的更多相关文章

  1. 搞懂分布式技术4:ZAB协议概述与选主流程详解

    搞懂分布式技术4:ZAB协议概述与选主流程详解 ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是专门为zookeeper实现分布式协调功能而设计.zookeeper主要 ...

  2. Zookeeper系列二:分布式架构详解、分布式技术详解、分布式事务

    一.分布式架构详解 1.分布式发展历程 1.1 单点集中式 特点:App.DB.FileServer都部署在一台机器上.并且访问请求量较少 1.2  应用服务和数据服务拆分  特点:App.DB.Fi ...

  3. 搞懂分布式技术5:Zookeeper的配置与集群管理实战

    搞懂分布式技术5:Zookeeper的配置与集群管理实战 4.1 配置文件 ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为“zoo_sample.cfg”的文件,是ZooK ...

  4. 搞懂分布式技术6:Zookeeper典型应用场景及实践

    搞懂分布式技术6:Zookeeper典型应用场景及实践 一.ZooKeeper典型应用场景实践 ZooKeeper是一个高可用的分布式数据管理与系统协调框架.基于对Paxos算法的实现,使该框架保证了 ...

  5. 搞懂分布式技术3:初探分布式协调服务zookeeper

    搞懂分布式技术3:初探分布式协调服务zookeeper 1.Zookeepr是什么 Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅,负载均衡, ...

  6. 个人学习分布式专题(二)分布式服务治理之分布式协调技术Zookeeper

    分布式协调技术Zookeeper 2.1 zookeeper集群安装部署(略) 2.2 zookeeper的基本原理,数据模型 2.3 zookeeper Java api的使用 2.4 zookee ...

  7. Zookeeper概述和基本概念

    一.Zookeeper背景 随着互联网技术的发展,企业对计算机系统的计算,存储能力要求越来越高,各大IT企业都在追求高并发,海量存储的极致,在这样的背景下,单纯依靠少量高性能单机来完成计算机,云计算的 ...

  8. ZooKeeper概述

    1.Zookeeper概述 Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务.它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置 ...

  9. .Net 分布式技术比较

    内容转自于 http://www.mamicode.com/info-detail-585547.html .NET 分布式技术比较 1. MSMQ(Microsoft Message Queue) ...

随机推荐

  1. YOLO v3 & Pascal VOC数据集

    代码地址:https://github.com/YunYang1994/tensorflow-yolov3 https://hackernoon.com/understanding-yolo-f5a7 ...

  2. 鸿蒙内核源码分析(源码注释篇) | 鸿蒙必定成功,也必然成功 | 百篇博客分析OpenHarmony源码 | v13.02

    百篇博客系列篇.本篇为: v13.xx 鸿蒙内核源码分析(源码注释篇) | 鸿蒙必定成功,也必然成功 | 51.c.h .o 几点说明 kernel_liteos_a_note | 中文注解鸿蒙内核 ...

  3. YbtOJ#943-平方约数【莫比乌斯反演,平衡规划】

    正题 题目链接:http://www.ybtoj.com.cn/contest/122/problem/3 题目大意 \(S(i)\)表示\(i\)的约数个数,\(Q\)次询问给出\(n,m\)求 \ ...

  4. YbtOJ#723-欧拉之树【莫比乌斯反演,虚树】

    正题 题目链接:http://www.ybtoj.com.cn/contest/121/problem/2 题目大意 给出\(n\)个点的一棵树,每个点有一个权值\(a_i\),求 \[\sum_{i ...

  5. mysql从零开始之MySQL LIKE 子句

    MySQL LIKE 子句 我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以 ...

  6. IDEA Web渲染插件开发(一)— 使用JCEF

    目前网上已经有了很多关于IDEA(IntelliJ平台)的插件开发教程了,本人觉得简书上这位作者秋水畏寒的关于插件开发的文章很不错,在我进行插件开发的过程中指导了我很多.但是综合下来看,在IDEA上加 ...

  7. Jmeter使用问题记录

    Jmeter下载安装,设置中文,返回值乱码处理,下载接口测试 下载地址 解压后,在Jmeter的bin文件夹下启动 修改默认启动为中文简体:打开bin目录下的jmeter.properties文件,在 ...

  8. 如何评估 Serverless 服务能力?这份报告给出了 40 条标准

    编者按:两年前,我们还在讨论什么是 Serverless,Serverless 如何落地.如今,已经有评测机构给出了 40 条标准来对 Serverless 的服务能力进行评估,这些评估细则既是技术生 ...

  9. 题解 P6454 麻将 加强版

    题目传送门 题目大意 不想写了,直接看题面吧. 思路 被这个题搞自闭了,因为读错题目想一个非常恶心的东西想了一场考试,然后就删代码,然后就被骂了.哎. 需要注意的是:我们只能选一次雀头 于是,不难看出 ...

  10. Netty-FastThreadLocal快在哪里呢?

    来源于:https://www.wangdaye.net/archives/n-e-t-t-y-zhi-f-a-s-t-t-h-r-e-a-d-l-o-c-a-l 前言 netty的concurren ...