ZooKeeper 项目

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
6月前
|
分布式计算 Java Hadoop
05分布式电商项目 - 注册中心 Zookeeper
05分布式电商项目 - 注册中心 Zookeeper
47 0
|
5月前
|
微服务
微服务轮子项目(39) -Zookeeper集群搭建
微服务轮子项目(39) -Zookeeper集群搭建
28 0
|
5月前
|
监控 Dubbo 应用服务中间件
启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析
启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析
242 0
|
6月前
|
负载均衡 Java Nacos
Spring Boot项目可以与MSE微服务引擎中的Nacos进行集成
Spring Boot项目可以与MSE微服务引擎中的Nacos进行集成
78 1
|
存储 缓存 监控
架构:第七章:基于Dubbo+Zookeeper项目架构
架构:第七章:基于Dubbo+Zookeeper项目架构
134 0
架构:第七章:基于Dubbo+Zookeeper项目架构
|
缓存 网络协议 Java
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
258 0
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
|
数据采集 算法 Dubbo
Springboot+dubbo+zookeeper项目集成的使用
Springboot+dubbo+zookeeper项目集成的使用
241 0
Springboot+dubbo+zookeeper项目集成的使用
|
负载均衡 Dubbo Java
Dubbo+Zookeeper+SpringMVC整合实现微服务项目
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xmt1139057136/article/details/79355504 互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。
1138 0