老师,多实例分布式锁锁票这里讲的太简单了。 真的是一笔带过的

来源:7-7 按消息流程实现业务

qq_博仁_0

2019-03-07

写回答

1回答

大漠风

2019-03-09

这里的分布式锁票,一方面是通过数据库的事务,也就是隔离机制。另外一方面,通过幂等性的实现,也就是访问多次,对数据不会产生影响。这样就能够用最简单的方式实现,在一个分布式系统当中的锁票操作。
至于使用分布式锁,不管是使用redis,zookeeper,其实原理都是类似的,也就是,多个实例,都能操作同一个锁。
但是,我非常不推荐这种方式,因为在我们使用spring的时候,由于spring data或者是hibernate之类的框架,以及spring对数据库事务的封装,使得我们对数据库的操作,在很多时候跟我们设想的步骤不太一样。所以这个分布式锁不一定能够按照我们预想的方式去执行。

所以,最好的方式,还是结合事务的一些特性,和合理的程序设计,以及数据操作的方式来实现分布式的数据访问。至于分布式锁,简单来说,不要在事务里面使用分布式锁,而是在调用事务所在方法的外面,去使用锁。而具体的用法,也不是简单的一两节内容就能说清楚,所以当时就没有展开说明太多。

0
0

分布式事务实践,从原理到实例,解决数据一致性

掌握分布式事务实现技术,是架构师必备技能。

1149 学习 · 153 问题

查看课程