自定义服务的服务注册- zookeeper

打印 上一主题 下一主题

主题 861|帖子 861|积分 2583

自定义服务的服务注册- zookeeper

服务注册使用 zookeeper 的大致过程如下

  • 链接 zookeeper 集群大概单机
  • 注册本身的 ip + 端口到 zookeeper 的 node(这个 node 要是临时节点的,因为可以包管健康查抄以及服务发现的高可用
编码实现

  1. package com.rpc.custom_rpc.registery;
  2. import com.rpc.custom_rpc.config.CustomRpcConfig;
  3. import com.rpc.pre.zookeeper.curator.ZkCuratorFrameworkServerOps;
  4. import org.apache.zookeeper.CreateMode;
  5. import java.nio.charset.StandardCharsets;
  6. /**
  7. * @author xl-9527
  8. * @since 2024/12/14
  9. **/
  10. public class ServerRegistryImpl implements ServerRegistry {
  11.     private final String ip;
  12.     private final int port;
  13.     private final ZkCuratorFrameworkServerOps zkCuratorFrameworkServerOps;
  14.     public ServerRegistryImpl(final String ip, final int port) {
  15.         this.ip = ip;
  16.         this.port = port;
  17.         this.zkCuratorFrameworkServerOps = new ZkCuratorFrameworkServerOps();
  18.     }
  19.     @Override
  20.     public void registry(final String serviceName) {
  21.         // 基础的路径注册为永久节点
  22.         final String path = CustomRpcConfig.BASE_PATH + serviceName;
  23.         if (!zkCuratorFrameworkServerOps.exists(path)) {
  24.             zkCuratorFrameworkServerOps.createNode(path, null, true);
  25.         }
  26.         // 创建临时节点,这其实就是我们的服务的元数据信息
  27.         zkCuratorFrameworkServerOps.createNode(path + "/" + ip + ":" + port, (ip + ":" + port).getBytes(StandardCharsets.UTF_8), CreateMode.EPHEMERAL);
  28.     }
  29. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曂沅仴駦

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表