例如,我们在做任务分发的时候,一般都是由master节点进行分发,而且是这个master节点上的某一个线程进行具体的分发工作。如果是在一个分布式的集群里面,我们要如何做到这一点呢?也就是我们要在这个集群里做到每次任务分发只有某台机器上的某个线程去做,不能出现并发的情况。

这里就需要应用到分布式锁的技术。

实现分布式锁的方式很多,一般主要有以下几种:

– MySql
– ZooKeeper
– Redis
– 自研分布式锁,如谷歌的Chubby