zookeeper 在项目中的六大应用之配置管理、分布式ID

配置管理

  • 分布式环境中,配置文件同步非常常见

    1. 一般要求一个集群中。所有节点的配置信息是一致的,比如redis地址
    2. 我们对配置文件进行修改后,希望能够第一时间同步到各个节点上
  • 配置管理可交给Zookeeper实现

    1. 可将配置信息写入ZK上的一个Znode上
    2. 各个客户端服务监听这个Znode
    3. 一旦Znode中的数据被修改,ZK服务端将通知各个客户端服务器。

其他:携程出了一个专门做配置管理的框架,功能更强大。地址:https://github.com/apolloconfig/apollo

生成分布式ID

在分布式环境中,分布式ID是必要的,一本分布式ID需满足以下要求

  • 全局唯一:必须保证ID是全局性唯一的,基本要求
  • 高性能:高可用低延时,ID生成响应要块,否则反倒会成为业务瓶颈
  • 好接入:要秉着拿来即用的设计原则,在系统设计和实现上要尽可能的简单
  • 趋势递增:最好趋势递增,这个要求就得看具体业务场景了,一般不严格要求

代码如下

public long nextId(String path){
        try {
            Stat stat = client.setData().forPath(path, new byte[0]);
            int version = stat.getVersion();
            return version;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return -1;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容