分布式协调系统
分布式协调系统解决的进程间的通信和协作,根据是否在同一时间和是否相互引用分为四个模型。
示例系统Chubby
主功能:让客户端实现同步,方法是加锁服务
介绍一下系统: 系统由五台服务器构成,通过paxos选举的方法选出一个主服务器,主控服务器是有"任期的",超过这个时间之后会重新选举,
故障处理: 如果备份服务器发生故障的话,他会更新DNS地址,同时在运行的时候。周期性查询各个备份服务器的DNS信息,如果发生变化,并通过一致性协议将信息传递给其他备份服务器。
选举方式具体细节:
阶段1: 倡议者选择一个倡议编号n,向接收者发出prepare请求,请求中附带倡议编号n,接收者来说如果收到带有倡议编号n的prepare请求,承诺不会收到比n小的倡议请求。
阶段2: 如果倡议者接收到了大部分接收者的响应,接收这个请求并发送accpet消息,消息中包含两部分的内容:倡议者的编号和内容。比如今晚的餐厅和去这个餐厅吃什么。接收者接收这个请求除非这个接收者已经响应了超过n的prepare请求。
)