Zookeeper服务器动态上下线监听

本文通过图示和代码解析展示了如何使用Zookeeper进行服务器动态上下线的监听操作。内容包括Server.java、TimeService.java的实现,以及客户端启动后的效果,成功监听到/servers节点的变更。
摘要由CSDN通过智能技术生成

思路图示分析
在这里插入图片描述
Server.java

package com.lagou.zk.onoffline;

import org.I0Itec.zkclient.ZkClient;

//服务端提供client需要的要给时间查询服务,服务端向zk建立临时节点
public class Server {
   

    //创建ZK
    ZkClient zkClient = null;
    private void connectZk(){
   
        zkClient = new ZkClient("centos7-1:2181,centos7-2:2181");
        if (!zkClient.exists("/servers")){
   
            zkClient.createPersistent("/servers");
        }
    }

    //告知zk服务器相关信息
    private void saveServerInfo(String ip,String port){
   
        String sequencePath = zkClient.createEphemeralSequential("/servers/server", ip + ":" + port);
        System.out.println("服务器:"+ip+":"+port+"向zk保存信息成功,成功上线可以接受client查询");
    }

    public static void main(String[] args) {
   
        //准备两个服务器启动上线(多线程模拟,一个线程代表一个服务器)
        Server server = new Server();
        server.connectZk();
        server.saveServerInfo(args[0],args[1]);

        //创建一个线程类,可以接受socket请求
        new TimeService(Integer.parseInt(ar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值