老师,多实例分布式锁锁票这里讲的太简单了。 真的是一笔带过的
来源:7-7 按消息流程实现业务

qq_博仁_0
2019-03-07
写回答
1回答
-
大漠风
2019-03-09
这里的分布式锁票,一方面是通过数据库的事务,也就是隔离机制。另外一方面,通过幂等性的实现,也就是访问多次,对数据不会产生影响。这样就能够用最简单的方式实现,在一个分布式系统当中的锁票操作。
至于使用分布式锁,不管是使用redis,zookeeper,其实原理都是类似的,也就是,多个实例,都能操作同一个锁。
但是,我非常不推荐这种方式,因为在我们使用spring的时候,由于spring data或者是hibernate之类的框架,以及spring对数据库事务的封装,使得我们对数据库的操作,在很多时候跟我们设想的步骤不太一样。所以这个分布式锁不一定能够按照我们预想的方式去执行。所以,最好的方式,还是结合事务的一些特性,和合理的程序设计,以及数据操作的方式来实现分布式的数据访问。至于分布式锁,简单来说,不要在事务里面使用分布式锁,而是在调用事务所在方法的外面,去使用锁。而具体的用法,也不是简单的一两节内容就能说清楚,所以当时就没有展开说明太多。
00
相似问题