分布式锁疑问

来源:14-3 分布式锁双重防死锁演进

慕娘4261975

2018-04-25

老师,看了分布式锁我有2点疑问:

  1. 当您调试模拟高并发时,tomcat1 debug到closeOrder时暂停等待,然后tomcat2放行(当前时间大于tomcat1写入锁的时间),然后您tomcat1也F8直接放行,那tomcat1中执行closeOrder方法,获取不到锁应该会出问题吧? http://img.mukewang.com/szimg/5ae06390000127c611630275.jpg

  2.  这种分布式锁,假如我有10台机器做集群,那其实还是每个定时任务排队执行,那是不是没有充分发挥到集群的优势呢


写回答

3回答

Geely

2018-05-01

你好同学,很好的问题。

  1. 这个只是模拟一个场景,在 setnx的时候,只会有一个成功。

  2. 分布式锁就是解决在分布式环境下把并行做成串行,的确没有发挥集群优势, 这个和hadoop的map reduce是两种方式。

1
4
Geely
回复
慕娘4261975
实在不能更赞你,是这样的思路,也就是说异步化来操作~~
2018-05-19
共4条回复

慕娘4261975

提问者

2018-04-25

菠萝兄,这个是tomcat1执行到closeOrder方法时,暂停,然后tomcat2执行完后再放行tomcat1   在这节课程的第20分钟左右

0
0

polo哦

2018-04-25

1、什么叫执行closeOrder方法获取不到锁,能执行closeOrder就一定会设定锁了

0
1
慕娘4261975
菠萝兄,这个是tomcat1执行到closeOrder方法时,暂停,然后tomcat2执行完后再放行tomcat1 在这节课程的第20分钟左右
2018-04-26
共1条回复

Java企业级电商项目架构 Tomcat集群与Redis分布式

Tomcat集群+Redis分布式+代码重构+源码原理解析

2685 学习 · 947 问题

查看课程