重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了Java如何操作Zookeeper,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
创新互联公司基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业温江服务器租用,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
ZooKeeper 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
Zookeeper 一个最常用的使用场景就是用于担任服务生产者和服务消费者的注册中心。 服务生产者将自己提供的服务注册到Zookeeper中心,服务的消费者在进行服务调用的时候先到Zookeeper中查找服务,获取到服务生产者的详细信息之后,再去调用服务生产者的内容与数据。如下图所示,在 Dubbo架构中 Zookeeper 就担任了注册中心这一角色。
maven依赖
org.apache.zookeeper zookeeper 3.6.0
程序其它依赖:
org.apache.logging.log4j log4j-core 2.11.2 org.apache.logging.log4j log4j-1.2-api 2.11.2 org.apache.logging.log4j log4j-slf4j-impl 2.11.2 org.apache.zookeeper zookeeper 3.6.0 org.slf4j slf4j-log4j12
API操作代码:
package com.zhi.test; import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.ZooKeeper; import org.apache.zookeeper.data.Stat; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; import org.junit.jupiter.api.TestMethodOrder; /** * Zookeeper操作测试 * * @author 张远志 * @since 2020年5月3日14:31:28 * */ @TestInstance(Lifecycle.PER_CLASS) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class ZookeeperTest { private final Logger logger = LogManager.getLogger(this.getClass()); private ZooKeeper zooKeeper; private final String path = "/test"; @BeforeAll public void init() throws Exception { zooKeeper = new ZooKeeper("192.168.59.131:2181", 60000, new Watcher() { public void process(WatchedEvent event) { logger.info("事件类型:{},路径:{}", event.getType(), event.getPath()); } }); } /** * 添加数据,当路径已经存在时会报错,初始版本号为0。第三个参数是权限控制。
* 第四个参数,CreateMode: *
以上就是关于Java如何操作Zookeeper的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。