#分布式锁和配置管理中心的实现 ##distributelock包下实现了分布式锁,利用zookeeper,创建一个临时时序的节点类型,采用zookeeper的全局有序的特性来实现。 ###具体步骤: 1.客户端调用create()方法创建名为“grouplock/sub”的节点,需要注意的是,这里节点的创建类型需要设置为EPHEMERAL_SEQUENTIAL。 2.客户端调用getChildren(“grouplock”)方法来获取所有已经创建的子节点,注意,这里不注册任何Watcher。 3.客户端获取到所有子节点path之后,如果发现自己在步骤1中创建的节点序号最小,那么就认为这个客户端获得了锁。 如果在步骤3中发现自己并非所有子节点中最小的,说明自己还没有获取到锁。此时客户端需要找到比自己小的那个节点,然后对其调用exist()方法,同时注册事件监听。 之后当这个被关注的节点被移除了,客户端会收到相应的通知。这个时候客户端需要再次调用getChildren(“grouplock”)方法来获取所有已经创建的子节点,确保自己确实是最小的节点了,然后进入步骤3。 ##configmanager目录下实现了配置管理中心,动态实现了配置管理中心,采用zookeeper