使用zookeeper实现分布式锁

zookeeper体系结构示意图:

使用zookeeper实现分布式锁_第1张图片

功能:

(*) 节点自选择,例如:主节点1挂了,可以自动选择节点2或者节点3作为主节点。

(*) 节点之间可以自动备份数据,例如:节点1的数据会自动备份到节点2和3。

(*) 单点部署,说明:把zookeeper装在一台机器上,主从节点都在用一个机器。

(*) 节点具有排它性,可用于分布式锁。利用此功能实现高并发、负载均衡。例如:用于秒杀系统,可以在高并发情况下保证线程安全;同时可以对请求进行分流,根据不同地区的ip请求放在过滤到不同的节点,均衡服务器压力。而本例就利用该功能模拟简单这个过程。

zookeeper实现分布式锁原理示意图:

使用zookeeper实现分布式锁_第2张图片

项目结构:

使用zookeeper实现分布式锁_第3张图片

具体实现:

使用zookeeper实现分布式锁_第4张图片

你可能感兴趣的:(java,大数据)