面试题:4个zookeeper的应用场景,你知道几个?

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 4个zookeeper的应用场景详解

前言

现在聊的 topic 是分布式系统,面试官跟你聊完了 dubbo 相关的一些问题之后,已经确认你对分布式服务框架/RPC框架基本都有一些认知了。那么他可能开始要跟你聊分布式相关的其它问题了。
分布式锁这个东西,很常用的,你做 Java 系统开发,分布式系统,可能会有一些场景会用到。最常用的分布式锁就是基于 zookeeper 来实现的。
其实说实话,问这个问题,一般就是看看你是否了解 zookeeper,因为 zookeeper 是分布式系统中很常见的一个基础系统。而且问的话常问的就是说 zookeeper 的使用场景是什么?看你知道不知道一些基本的使用场景。但是其实 zookeeper 挖深了自然是可以问的很深很深的。
image

面试题剖析

大致来说,zookeeper 的使用场景如下,我就举几个简单的,大家能说几个就好了:
分布式协调
分布式锁
元数据/配置信息管理
HA高可用性
image

分布式协调

这个其实是 zookeeper 很经典的一个用法,简单来说,就好比,你 A 系统发送个请求到 mq,然后 B 系统消息消费之后处理了。那 A 系统如何知道 B 系统的处理结果?用 zookeeper 就可以实现分布式系统之间的协调工作。A 系统发送请求之后可以在 zookeeper 上对某个节点的值注册个监听器,一旦 B 系统处理完了就修改 zookeeper 那个节点的值,A 系统立马就可以收到通知,完美解决。
image

分布式锁

举个栗子。对某一个数据连续发出两个修改操作,两台机器同时收到了请求,但是只能一台机器先执行完另外一个机器再执行。那么此时就可以使用 zookeeper 分布式锁,一个机器接收到了请求之后先获取 zookeeper 上的一把分布式锁,就是可以去创建一个 znode,接着执行操作;然后另外一个机器也尝试去创建那个 znode,结果发现自己创建不了,因为被别人创建了,那只能等着,等第一个机器执行完了自己再执行。欢迎大家关注我的公种浩【程序员追风】,文章都会在里面更新,整理的资料也会放在里面。
image

元数据/配置信息管理

zookeeper 可以用作很多系统的配置信息的管理,比如 kafka、storm 等等很多分布式系统都会选用 zookeeper 来做一些元数据、配置信息的管理,包括 dubbo 注册中心不也支持 zookeeper 么?
image

HA高可用性

这个应该是很常见的,比如 hadoop、hdfs、yarn 等很多大数据系统,都选择基于 zookeeper 来开发 HA 高可用机制,就是一个重要进程一般会做主备两个,主进程挂了立马通过 zookeeper 感知到切换到备用进程。
image

最后

欢迎大家一起交流,喜欢文章记得关注我点赞转发哟!

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
6天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
27 2
|
1月前
|
消息中间件 负载均衡 Kafka
【大厂面试演练】听说你很懂ZooKeeper?那我考考你
面试官:看你简历写了精通ZooKeeper,那我就随便考考你吧。首先我上面说的共享锁实现方式如果在集群不大的情况下是可行的,而且他实现简单实用。而如果在集群规模大的场景下,可以这样改进...
144 3
【大厂面试演练】听说你很懂ZooKeeper?那我考考你
|
7月前
|
存储 算法 Java
准备跳槽必看的这道【Java面试题】:谈谈你对Zookeeper 选举原理的理解
一位工作了 7 年的程序员,最近在面试时被问到一个关于Zookeeper的问题。因为平时很少研究,所以面试的时候只能一直说:不知道,不知道,不知道。当时,他感觉很尴尬,面试还没结束,就已经知道应该被Pass了。于是又来问我,希望我能分享一期这样的视频。
64 2
|
4月前
zookeeper应用场景二:分布式锁
zookeeper应用场景二:分布式锁
21 0
zookeeper应用场景二:分布式锁
|
4月前
|
数据库连接
zookeeper应用场景一:实现配置中心动态更新配置
zookeeper应用场景一:实现配置中心动态更新配置
38 0
|
4月前
|
存储 负载均衡 网络协议
ZooKeeper【基础 01】简介+设计目标+核心概念+ZAB协议+典型应用场景
ZooKeeper【基础 01】简介+设计目标+核心概念+ZAB协议+典型应用场景
56 0
|
7月前
|
NoSQL 算法 Java
高频面试题实现分布式锁中,zookeeper和Redis哪种更好?
一位6年工作经验的小伙伴,在某厂面试时被问到“实现分布式锁,Zookeeper 和 Redis 哪种更好?“,这其实是一个开放性的问题。并没有标准答案。那今天呢,我给大家分享一下我的理解,希望能够帮助到大家。
128 0
高频面试题实现分布式锁中,zookeeper和Redis哪种更好?
|
8月前
|
消息中间件 存储 分布式计算
程序员转型到互联网面试必问题:谈谈你对Zookeeper的理解
对一个没有接触过分布式的小伙伴来说,可能还不太清楚Zookeeper在分布式应用中的重要性,今天有位从传统行业转型到互联网的小小伙伴问我,希望跟他讲讲Zookeeper什么,能解决什么问 题?今天,我给大家详细介绍一下。
55 1
|
8月前
|
Java Linux API
Zookeeper学习---3、服务器动态上下线监听案例、ZooKeeper 分布式锁案例、企业面试真题
Zookeeper学习---3、服务器动态上下线监听案例、ZooKeeper 分布式锁案例、企业面试真题
|
9月前
|
Java
Java 最常见的面试题:说一下 zookeeper 的通知机制?
Java 最常见的面试题:说一下 zookeeper 的通知机制?