ZooKeeper 实现命名服务

来源:互联网 发布:数据恢复免费软件 编辑:程序博客网 时间:2024/06/06 14:24
使用场景 

        命名服务就是提供名称的服务,Zookeeper的命名服务有两个应用方面。一个是提供类似JNDI功能,另一个是制作分布式的序列号生成器

        JNDI功能,我们利用Zookeeper的分层结构,可以把系统中的各种服务的名称、地址、以及目录信息存放在Zookeeper中,需要的时候去Zookeeper中读取。

        另一个是利用Zookeeper循序节点的特性,制作分布式的序列号生成器,或者叫id生成器。 (分布式环境下使用作为数据库id,另外一种是UUID(缺点:没有规律)),Zookeeper可以生成有顺序的容易理解的同时支持分布式环境的编号。 

原理解析(序列号生成器

        架构图
        

        核心算法流程
        

        代码:https://github.com/JeromeSuz/demo_zookeeper/tree/master/src/main/java/com/demo/_9nameservice


0 0