在分布式系统中,排他性的资源访问方式,就叫做分布式互斥(Distributed Mutual Exclusion),而这种被互斥访问的共享资源,就叫做临界资源
分布式系统中解决分布式互斥主要有以下几种方式
集中式算法/中央服务器算法 我们引入一个协调者程序,得到一个分布式互斥算法。每个程序在需要访问临界资源时,先给协调者发送一个请求。 如果当前没有程序使用这个资源,协调者直接授权请求程序访问;否则,按照先来后到的顺序为请求程序“排一个号”。 如果有程序使用完资源,则通知协调者,协调者从“排号”的队列里取出排在最前面的请求,并给它发送授权消息。 拿到授权消息的程序,可以直接去访问临界资源。
集中式算法示意图:
如上图所示,协调者程序根 …