使用zookeeper实现分布式锁
zookeeper体系结构示意图:
功能:
(*) 节点自选择,例如:主节点1挂了,可以自动选择节点2或者节点3作为主节点。
(*) 节点之间可以自动备份数据,例如:节点1的数据会自动备份到节点2和3。
(*) 单点部署,说明:把zookeeper装在一台机器上,主从节点都在用一个机器。
(*) 节点具有排它性,可用于分布式锁。利用此功能实现高并发、负载均衡。例如:用于秒杀系统,可以在高并发情况下保证线程安全;同时可以对请求进行分流,根据不同地区的ip请求放在过滤到不同的节点,均衡服务器压力。而本例就利用该功能模拟简单这个过程。
zookeeper实现分布式锁原理示意图:
项目结构:
具体实现: