ZooKeeper 项目

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: ZooKeeper是一个分布式开源协调服务,主要用于分布式应用的协调和管理。【2月更文挑战第17天】

ZooKeeper是一个分布式开源协调服务,主要用于分布式应用的协调和管理。它提供了一些核心功能,如配置管理、分布式锁、集群管理和命名服务等,以实现分布式应用的一致性和可靠性。ZooKeeper采用Zab协议来保证各个Server之间的同步,并支持多种客户端编程语言,如Java、Python和C++等。
image.png

zkServer.sh start

Java客户


import org.apache.zookeeper.ZooKeeper;
public class ZooKeeperClient {
   
   
    private static final String ZOOKEEPER_ADDRESS = "localhost:2181";
    private static final int SESSION_TIMEOUT = 3000;
    public static ZooKeeper createClient() throws IOException {
   
   
        return new ZooKeeper(ZOOKEEPER_ADDRESS, SESSION_TIMEOUT, event -> {
   
   
            if (event.getState() == Watcher.Event.KeeperState.SyncConnected) {
   
   
                System.out.println("Connected to ZooKeeper");
            }
        });
    }
    public static void main(String[] args) throws IOException, InterruptedException {
   
   
        ZooKeeper zkClient = createClient();
        zkClient.create("/myNode", "Hello, ZooKeeper!".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
        byte[] data = zkClient.getData("/myNode", false, null);
        System.out.println("Node data: " + new String(data));
        zkClient.close();
    }
}

ZooKeeper的核心概念
image.png

  1. 节点(Node):ZooKeeper中的基本数据单元,每个节点包含一个键值对,节点之间可以创建父子关系。
  2. 目录(Directory):在ZooKeeper中,一个目录可以包含零个或多个节点。
  3. 数据(Data):ZooKeeper中的数据由节点存储,可以是字符串、字节数组或其他数据结构。
  4. 权限(ACL):ZooKeeper中的每个节点都可以设置访问权限,以控制哪些客户端可以访问该节点。
  5. 客户端(Client):连接到ZooKeeper服务器的应用程序,可以发送请求来操作ZooKeeper中的数据。
  6. 服务器(Server):ZooKeeper集群中的每个节点都是一个服务器,负责存储和处理客户端的请求。
  7. 集群(Cluster):由多个ZooKeeper服务器组成的集合,可以提供高可用性和负载均衡。

ZooKeeper的基本操作

  1. 创建节点(Create):创建一个新节点,并设置节点的键值对。
  2. 删除节点(Delete):删除指定的节点。
  3. 获取节点(Get):获取指定节点的值。
  4. 更新节点(Set):更新指定节点的值。
  5. 获取子节点(GetChildren):获取指定节点的子节点列表。
  6. 断开连接(Disconnect):断开与ZooKeeper服务器的连接。

ZooKeeper学习资料:

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
分布式计算 Java Hadoop
05分布式电商项目 - 注册中心 Zookeeper
05分布式电商项目 - 注册中心 Zookeeper
67 0
|
4月前
|
消息中间件 NoSQL Kafka
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)
|
4月前
|
消息中间件 应用服务中间件 Kafka
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)
|
负载均衡 Java Nacos
Spring Boot项目可以与MSE微服务引擎中的Nacos进行集成
Spring Boot项目可以与MSE微服务引擎中的Nacos进行集成
204 1
|
12月前
|
微服务
微服务轮子项目(39) -Zookeeper集群搭建
微服务轮子项目(39) -Zookeeper集群搭建
48 0
|
监控 Dubbo 应用服务中间件
启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析
启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析
302 0
|
存储 缓存 监控
架构:第七章:基于Dubbo+Zookeeper项目架构
架构:第七章:基于Dubbo+Zookeeper项目架构
151 0
架构:第七章:基于Dubbo+Zookeeper项目架构
|
缓存 网络协议 Java
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
289 0
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
|
数据采集 算法 Dubbo
Springboot+dubbo+zookeeper项目集成的使用
Springboot+dubbo+zookeeper项目集成的使用
265 0
Springboot+dubbo+zookeeper项目集成的使用