From 98906ef332371ce0102abff918b9746aab4cc6f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Mon, 3 Jun 2019 16:30:14 +0800 Subject: [PATCH] =?UTF-8?q?Zookeeper=E7=AE=80=E4=BB=8B=E5=8F=8A=E6=A0=B8?= =?UTF-8?q?=E5=BF=83=E6=A6=82=E5=BF=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/Zookeeper简介及核心概念.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/notes/Zookeeper简介及核心概念.md b/notes/Zookeeper简介及核心概念.md index cb3cba8..b64bd9a 100644 --- a/notes/Zookeeper简介及核心概念.md +++ b/notes/Zookeeper简介及核心概念.md @@ -173,22 +173,22 @@ Zookeeper通过Watcher机制可以实现数据的发布和订阅。分布式系 分布式系统的所有服务节点可以竞争性地去创建同一个临时ZNode,由于Zookeeper不能有路径相同的ZNode,必然只有一个服务节点能够创建成功,此时可以认为该节点获得了锁。其他没有获得锁的服务节点通过在该ZNode上注册监听,从而当锁释放时再去竞争获得锁。锁的释放情况有以下两种: -+ 当正常执行完业务逻辑后,客户端主动将创建的临时节点删除,此时锁被释放; ++ 当正常执行完业务逻辑后,客户端主动将临时ZNode删除,此时锁被释放; -+ 当获得锁的客户端发生宕机时,临时节点会被自动删除,此时认为锁已经释放。 ++ 当获得锁的客户端发生宕机时,临时ZNode会被自动删除,此时认为锁已经释放。 -当锁被释放后,其他服务节点可以再次去竞争性地进行创建,但每次都有且只有一个服务节点能够获取到锁,这就是排他锁。 +当锁被释放后,其他服务节点则再次去竞争性地进行创建,但每次都只有一个服务节点能够获取到锁,这就是排他锁。 ### 5.5 集群管理 Zookeeper还能解决大多数分布式系统中的问题: -+ 如可以通过创建临时节点来建立心跳检测机制,如果分布式系统的某个服务节点宕机了,则该临时节点会被删除,此时通过监听机制就能知道该服务已经宕机; -+ 分布式系统的每个服务节点还可以将自己的节点状态写入临时节点,从而完成状态报告或节点工作进度汇报; -+ 通过数据的订阅和发布功能,Zookeeper还能对分布式系统进行模块的解耦和任务的调度; ++ 如可以通过创建临时节点来建立心跳检测机制。如果分布式系统的某个服务节点宕机了,则其持有的会话会超时,此时该临时节点会被删除,相应的监听事件就会被触发。 ++ 分布式系统的每个服务节点还可以将自己的节点状态写入临时节点,从而完成状态报告或节点工作进度汇报。 ++ 通过数据的订阅和发布功能,Zookeeper还能对分布式系统进行模块的解耦和任务的调度。 + 通过监听机制,还能对分布式系统的服务节点进行动态上下线,从而实现服务的动态扩容。 - +
## 参考资料