zookeeper(一) --- zookeeper概述

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介:


zookeeper(一) --- zookeeper概述


 

         写文章之前笔者先说明一下笔者最近了解zookeeper的原因,最近笔者所在的项目中需要用全文索引,而架构师和项目经理决定使用比较成熟的solr+zookeeper的模式。这个任务比较幸运的落到了笔者的肩上,以上就是文章的背景了,进入主题。

 

         什么是Zookeeper?

 

         Apache ZooKeeper是Apache软件基金会的一个软件项目,他为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。由雅虎创建,是Google Chubby的开源项目实现。 ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。

 

         ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZooKeeper节点将它们的数据存储于一个分层的命名空间,非常类似于一个文件系统或一个前缀树结构。客户端可以在节点读写,从而以这种方式拥有一个共享的配置服务。更新是全序的。

 

         应用场景

 

         1、  数据发布/订阅


         数据发布/订阅 顾名思义就是一方把数据发布出来,另一方通过某种手段可以得到这些数据。

         通常数据订阅有两种方式:推模式和拉模式,推模式一般是服务器制动向客户端发送消息,拉模式是客户端主动去服务器获取数据(通常采用定时轮询的方式),而zookeeper采用两种方式相结合。发布者将数据发布到zookeeper集群节点上,订阅者通过一定得方法告诉服务器,我对那个节点的数据感兴趣,那服务器在这些节点的数据发生变化时,就通知客户端客户端得到通知后可以去服务器获取数据信息。

 

         2、  负载均衡

 

         a.      首先DB再启动的时候先在zookeeper上注册一个临时节点(服务器出现问题的时候,节点会自动从zookeeper上删除)

         b.      客户端需要低些数据库的时候首先它去zookeeper得到所有可用的DB的连接信息(一张表)

         c.      客户端随机选择一个与之建立连接

         d.      当客户端发现连接不可用的时候可再次从zookeeper上获取可用的DB连接信息,当然也可以在刚获取的那个列表里移除不可用的连接后再随机选择一个DB与之连接。

 

         3、  命名服务


         顾名思义,就是提供名称的服务,,例如数据库表格ID,串通的开发中,可以通过ping某个主机来实现,ping得通说明对方是可用的,相反是不可用的。Zookeeper中我们让所有的机器都注册一个临时的节点,我们判断一个机器是否可用,我们只需要判断这个节点在zookeeper中是否存在就可以了,不需要直接去连接诶需要检查的机器,降低系统的复杂度。

 

         Zookeeper的优势?


         1、  源代码开放

         2、  已经被证实是高性能,易用的工业级产品

         3、  有广泛的应用:Solr、Hadoop、Storm

 

 

 

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
数据安全/隐私保护
Zookeeper快速入门(Zookeeper概述、安装、集群安装、选举机制、命令行操作、节点类型、监听器原理)(二)
Zookeeper快速入门(Zookeeper概述、安装、集群安装、选举机制、命令行操作、节点类型、监听器原理)(二)
|
存储 算法 网络协议
分布式组件 ZooKeeper 介绍、术语概述以及集群搭建篇
分布式组件 ZooKeeper 介绍、术语概述以及集群搭建篇
116 0
|
消息中间件 负载均衡 监控
Zookeeper快速入门(Zookeeper概述、安装、集群安装、选举机制、命令行操作、节点类型、监听器原理)(一)
Zookeeper快速入门(Zookeeper概述、安装、集群安装、选举机制、命令行操作、节点类型、监听器原理)(一)
|
存储 消息中间件 监控
ZooKeeper 概述&特性|学习笔记
快速学习 ZooKeeper 概述&特性
109 0
ZooKeeper 概述&特性|学习笔记
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
2月前
|
存储 负载均衡 Dubbo
分布式-Zookeeper(一)
分布式-Zookeeper(一)
|
4月前
|
监控 NoSQL Java
分布式锁实现原理问题之ZooKeeper的观察器(Watcher)特点问题如何解决
分布式锁实现原理问题之ZooKeeper的观察器(Watcher)特点问题如何解决
|
1月前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
45 2
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
48 1
下一篇
无影云桌面