Class EtcdService

java.lang.Object
com.bytedesk.core.etcd.EtcdService

public class EtcdService extends Object
etcd 服务类 - 封装常用的 etcd 操作
Author:
bytedesk.com
  • Field Details

    • kvClient

      private final io.etcd.jetcd.KV kvClient
    • leaseClient

      private final io.etcd.jetcd.Lease leaseClient
    • watchClient

      private final io.etcd.jetcd.Watch watchClient
    • lockClient

      private final io.etcd.jetcd.Lock lockClient
    • properties

      private final EtcdProperties properties
  • Constructor Details

    • EtcdService

      public EtcdService(io.etcd.jetcd.Client client, io.etcd.jetcd.KV kvClient, io.etcd.jetcd.Lease leaseClient, io.etcd.jetcd.Watch watchClient, io.etcd.jetcd.Lock lockClient, EtcdProperties properties)
  • Method Details

    • put

      public void put(String key, String value)
      设置键值
    • putWithLease

      public void putWithLease(String key, String value, long leaseId)
      设置键值(带租约)
    • get

      public String get(String key)
      获取键值
    • getByPrefix

      public List<EtcdService.KeyValue> getByPrefix(String prefix)
      获取指定前缀的所有键值
    • delete

      public void delete(String key)
      删除键
    • createLease

      public long createLease(long ttl)
      创建租约
    • keepAlive

      public void keepAlive(long leaseId)
      保持租约活跃(续期)
    • revokeLease

      public void revokeLease(long leaseId)
      撤销租约
    • watch

      public io.etcd.jetcd.Watch.Watcher watch(String key, Consumer<io.etcd.jetcd.watch.WatchEvent> eventConsumer)
      监听键的变化
    • watchPrefix

      public io.etcd.jetcd.Watch.Watcher watchPrefix(String prefix, Consumer<io.etcd.jetcd.watch.WatchEvent> eventConsumer)
      监听前缀的变化
    • lock

      public long lock(String lockName)
      获取分布式锁
    • unlock

      public void unlock(String lockName, long leaseId)
      释放分布式锁
    • registerService

      public long registerService(String serviceName, String serviceInfo)
      注册服务
    • unregisterService

      public void unregisterService(String serviceName, long leaseId)
      注销服务
    • discoverServices

      public List<EtcdService.KeyValue> discoverServices(String serviceName)
      发现服务
    • startLeaseKeepAlive

      private void startLeaseKeepAlive(long leaseId)
      启动租约续期
    • toByteSequence

      private io.etcd.jetcd.ByteSequence toByteSequence(String str)
      字符串转 ByteSequence