安全:串行化集群服务的并发请求,正确操作共享资源。
限流:控制集群服务的高并发流量。
zk分布式锁的优势:大多数高可用(无单点故障问题)、顺序一致性(无同步数据一致性问题)。
zk分布式锁的劣势:性能较低(Leader节点串行化写操作和同步Follower节点)。
1、以获取排行榜数据为例,假设查询服务部署在多台服务器上,此时缓存中的热点数据被删除,会导致缓存击穿,全部服务器上的查询请求都打到数据库,可能会使数据库宕机。
2、以秒杀抢购100件商品为例,假设订单服务部署在多台服务器上,把秒杀请求负载均衡到多台服务器,全部服务器上的请求都打到数据库,同时扣减库存,可能会使数据库宕机。
给秒杀接口上100个分布式锁,抢到锁的请求才能请求数据库扣减库存。
(其实挺复杂,还得考虑少卖问题和重复购买问题)
zk拥有永久节点、临时节点、顺序永久节点和顺序临时节点四种节点。