现在位置: 首页 > 分布式锁
2019-10-02 07:03 工业·编程 ⁄ 共 10125字 暂无评论
Q:一个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费 · synchronized · lock · db lock Q:两个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费 · 分布式锁 我们需要怎么样的分布式锁? 可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。 这把锁要是一把可重入锁(避免死锁) 这把锁最好是一把阻塞锁(根据业务需求考虑...
阅读全文
2019-10-01 06:55 工业·编程 ⁄ 共 7511字 暂无评论
在分布式系统的时代中,微服务、服务治理、中间件等名次已经贯穿了我们开发的各个过程,给开发者们提供了很多便捷的方式去更好的开发大型的web系统,这篇文章,主要给大家简单说一下分布式锁。 在我们常见的xxx管理系统中,没有那么大的数据量,也没必要去引入中间件去搞。但,时代不同了,无论从tob端或者toc端,目前大型的系统网站,在开发初期,在技术选型上,都在追求或者考虑未来的高并发、高可用的场景。往往单一的jvm实...
阅读全文
2019-09-30 06:39 工业·编程 ⁄ 共 3083字 暂无评论
分布式锁有几种常用的实现方式:zookeeper、memcached、redis、mysql。这里介绍一下redis的实现方式,并在最后附上了一个Demo小工具: 众所周知,reids锁是通过setnx + expire的方式实现的,setnx保证只有在key不存在时才能set成功,expire保证锁在非正常释放的情况下不会形成死锁。基本原理就是这个,但实际操作中我们需要注意几个问题: 1)setnx与expire是非原子性的,那么如果setnx执行成功、但expire未执行,那么锁也就无法...
阅读全文