Zookeeper---系统学习

1、概述

      1.1  Zookeeper解决了什么问题

            分布式环境中    协调和管理服务    是一个复杂的过程;

            Zookeeper通过  其简单的架构和API  解决了这个问题,Zookeeper允许程序员可以专注于核心应用程序逻辑,而不必担心应用程序的分布式特性;

      1.2  Zookeeper架构

            

            Client(客户端)

               分布式集群中的一个节点,从Zookeeper服务器访问消息;

            Server(服务器)

               Zookeeper总体中的一个节点,为客户端提供服务;

            Ensemble(ZooKeeper服务器组)

               形成ensemble所需的最小节点数为3;

            Leader

               服务节点,当连接任何节点都失败时,将自动执行恢复,Leader将被选出;

            Follower

               跟随Leader指令的节点; 

            Session(会话)

               会话对于ZooKeeper的操作非常重要;

               会话中的请求按FIFO顺序执行;

               一旦客户端连接到服务器,将建立会话并向客户端分配会话ID ;

               客户端以特定的时间间隔发送心跳以保持会话有效。如果ZooKeeper集合在超过服务器开启时指定的期间(会话超时)都没有从客户端接收到心跳,则它会判定客户端死机。

               会话超时通常以毫秒为单位。当会话由于任何原因结束时,在该会话期间创建的临时节点也会被删除。

            Watches(监视)

               监视是一种简单的机制,使客户端收到关于ZooKeeper集合中的更改的通知;

               客户端可以在读取特定znode时设置WatchesWatches会向注册的客户端发送任何znode(客户端注册表)更改的通知。

               Znode更改是与znode相关的数据的修改或znode的子项中的更改。只触发一次watches。如果客户端想要再次通知,则必须通过另一个读取操作来完成。当连接会话过期时,客户端将与服务器断开连接,相关的watches也将被删除。

 

      1.3  Zookeeper工作流

            一旦Zookeeper启动后,它将等待客户端的连接;

      1.4  Zookeeper安装

            Zookeeper服务器是用java编写的,需要运行在JDK1.6及以上;

      1.5  Zookeeper命令

            命令在/apache-zookeeper-3.5.6-bin/bin目录下

            ./zkServer.sh start  

                Zookeeper服务器启动

            ./zkServer.sh stop

                Zookeeper服务器停止

            ./zkCli.sh

                Zookeeper客户端启动

            quit

                客户端退出

            ls /

                查看注册的dubbo服务

            ls /dubbo-***

                查看Dubbo对外提供的服务接口

            ls /dubbo-***/接口名称/consumers

                查看某个Dubbo接口的消费者

            ls /dubbo-***/接口名称/providers

                查看某个Dubbo接口的提供者

      1.6  zkCli

            Zookeeper命令行界面(Cli)用于    与Zookeeper集合进行交互以进行开发;

             要执行zkCli,首先需要先打开zkServer(zkServer.sh start),再打开zkCli(zkCli.sh);

posted on   anpeiyong  阅读(214)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示