标签:客户 连接 多资源 使用 修改 响应时间 建议 setnx 冲突
大型网站及应用都是分布式部署的,在分布式环境中的数据一致性问题一直是一个比较重要的话题,如何保证数据的一致性,那就离不开分布式锁。那么问题也就接踵而至。分布式锁有基于数据库的行数、redis以及zookeeper三种实现方式,同样是分布式锁,三者的区别何在?各自适用什么场景?
一.场景
二.分布式锁的方案
三.几种方案的比较
四.悲观锁和乐观锁的选择
我总结了一下有这么几点:
如果需要非常高的响应速度,建议使用乐观锁,成功就执行,不成功就失败,不需要等待其他并发去释放锁。如果冲突频率高或者重试代价大建议使用悲观锁。
五.实现方式
数据库的悲观锁和乐观锁
redis悲观锁和乐观锁
zk实现
.............
下一篇将具体介绍如何使用redis实现分布式锁,敬请期待!
标签:客户 连接 多资源 使用 修改 响应时间 建议 setnx 冲突
原文地址:http://www.cnblogs.com/cuiyiming/p/6652898.html