分布式技术-Zookeeper概述
概述
- Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目
- 在大数据技术生态圈中,zookeeper(动物管理员),Hadoop(大象),Hive(蜜蜂),Pig(猪)
工作机制
- zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架
- 负责存储和管理数据
- 接受观察者的注册
- 通知已经注册的观察者做出反应
- 实现集群中类似Master/Slave管理模式
- zookeeper = 文件系统 + 通知机制
- 服务上线
- 获取当前服务列表
- 服务器节点下线
- 服务器节点上下线事件通知
- 重新获取服务器列表,注册监听
特点
分布式和集群的区别:
无论分布式还是集群,都是很多人在做事情,具体区别如下
例子:有一个饭店,越来越火爆,招聘工作人员
- 分布式:招聘一个厨师,1个服务员,1个前台,3个人负责的工作不同,最终都是为饭店工作
- 集群:招聘5个服务员,5个人的工作一个
- 一个leader和多个follower来组成的集群
- 集群中只要有半数以上的节点存活,Zookeeper就能正常工作
- 全局数据唯一性,每台服务器都保存一份相同的数据副本,无论哪台client连接哪台server,数据都是一致的
- 数据更新原子性,一次数据要么成功,要么失败
- 实时性,在一定的时间范围内,client能读取到最新数据
- 更新的请求按照顺序执行,会按照发过来的数据,逐一执行
数据结构
- zookeeper数据模型的结构与linux文件系统很类似,整体上可以看作是一棵树,每个节点称作一个ZNode(ZookeeperNode)
- 每一个ZNode默认能够存储1MB的数据(元数据),每个ZNode的路径是唯一的
- 元数据(Metadata),又称中介数据,中继数据,为描述数据的数据,主要是描述数据属性信息,同来支持如指示存储位置,历史记录,资源查找,文件记录等功能
应用场景
- 提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等
统一命名服务
- 在分布式环境下,对环境进行统一命名
统一配置管理
- 分布式环境下进行配置同步
- 将配置管理交给zookeeper
- 将配置信息写到某个节点上
- 每个客户端都监听这个节点
- 一旦节点中的数据被修改,通知每台服务器
服务器节点动态上下线
- 客户端能够获取服务器节点的上下线情况
软负载均衡
- 统计每台服务器的访问情况,访问次数最少的节点去处理最新的请求(雨露均沾)
分布式技术-Zookeeper概述的更多相关文章
- 搞懂分布式技术4:ZAB协议概述与选主流程详解
搞懂分布式技术4:ZAB协议概述与选主流程详解 ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是专门为zookeeper实现分布式协调功能而设计.zookeeper主要 ...
- Zookeeper系列二:分布式架构详解、分布式技术详解、分布式事务
一.分布式架构详解 1.分布式发展历程 1.1 单点集中式 特点:App.DB.FileServer都部署在一台机器上.并且访问请求量较少 1.2 应用服务和数据服务拆分 特点:App.DB.Fi ...
- 搞懂分布式技术5:Zookeeper的配置与集群管理实战
搞懂分布式技术5:Zookeeper的配置与集群管理实战 4.1 配置文件 ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为“zoo_sample.cfg”的文件,是ZooK ...
- 搞懂分布式技术6:Zookeeper典型应用场景及实践
搞懂分布式技术6:Zookeeper典型应用场景及实践 一.ZooKeeper典型应用场景实践 ZooKeeper是一个高可用的分布式数据管理与系统协调框架.基于对Paxos算法的实现,使该框架保证了 ...
- 搞懂分布式技术3:初探分布式协调服务zookeeper
搞懂分布式技术3:初探分布式协调服务zookeeper 1.Zookeepr是什么 Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅,负载均衡, ...
- 个人学习分布式专题(二)分布式服务治理之分布式协调技术Zookeeper
分布式协调技术Zookeeper 2.1 zookeeper集群安装部署(略) 2.2 zookeeper的基本原理,数据模型 2.3 zookeeper Java api的使用 2.4 zookee ...
- Zookeeper概述和基本概念
一.Zookeeper背景 随着互联网技术的发展,企业对计算机系统的计算,存储能力要求越来越高,各大IT企业都在追求高并发,海量存储的极致,在这样的背景下,单纯依靠少量高性能单机来完成计算机,云计算的 ...
- ZooKeeper概述
1.Zookeeper概述 Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务.它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置 ...
- .Net 分布式技术比较
内容转自于 http://www.mamicode.com/info-detail-585547.html .NET 分布式技术比较 1. MSMQ(Microsoft Message Queue) ...
随机推荐
- javascript 自定义事件 发布-订阅 模式 Event
* javascript自定义事件 var myEvent = document.createEvent("Event"); myEvent.initEvent("myE ...
- python风格对象
对象表示形式 python提供了两种获取对象字符串表示形式的标准方式 repr() //便于开发者理解的方式返回对象的字符串表示形式(一般来说满足obj==eval(repr(obj) ...
- CF280D-k-Maximum Subsequence Sum【模拟费用流,线段树】
正题 题目链接:https://www.luogu.com.cn/problem/CF280D 题目大意 一个长度为\(n\)的序列,\(m\)次操作 修改一个数 询问一个区间中选出\(k\)段不交子 ...
- P5488-差分与前缀和【NTT,生成函数】
正题 题目链接:https://www.luogu.com.cn/problem/P5488 题目大意 求一个长度为$n$的序列的$k$阶差分/前缀和. 解题思路 先考虑前缀和怎么做 搞出来生成函数就 ...
- P6775-[NOI2020]制作菜品【贪心,dp】
正题 题目链接:https://www.luogu.com.cn/problem/P6775 题目大意 \(n\)种原材料,第\(i\)个有\(d_i\)个,\(m\)道菜品都需要\(k\)个原料而且 ...
- P3180-[HAOI2016]地图【圆方树,莫队,分块】
正题 题目链接:https://www.luogu.com.cn/problem/P3180 题目大意 \(n\)个点\(m\)条边的一个仙人掌,有点权. \(Q\)次询问给出\(op,x,y\),封 ...
- 一、mybatis入门案例
今天学习了mybatis框架,简单记录一下mybatis第一个入门案例,目标是使用Mybatis作为持久层框架,执行查询数据的SQL语句并且获取结果集 基本步骤: 物理建模 逻辑建模 引入依赖 创建持 ...
- Redis缓存穿透、缓存击穿、缓存雪崩的介绍及其解决方案
首先,来画一张图了解下缓存处理的流程 一.缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求查询该数据,导致数据库压力过大. 解决方案: 1.接口校验 如鉴权校验.数据合法性 ...
- 一个简单的Java应用程序
目录 一个简单的Java应用程序 首次运行结果 程序示例 运行结果 修改大小写之后的运行结果 程序示例 运行结果 关键字public 关键字class 类名及其命名规则 类名必须以字母开头 不能使用J ...
- c++-string类--insert函数
string &insert(int p0, const char *s);--在p0位置插入字符串s string &insert(int p0, const char *s, in ...