工程实践中的方案
基于一个线性化写的存储,例如用zookeeper或etcd,甚至有用Mysql、通过轮询做Watch。实现方案zookeeper论文有讲。
# 方案1:基于cas写+监听
多个节点对存储系统做原子cas写,谁写到谁就抢到锁。其他节点Watch。这种Watch其实是Centralized Failure Detect,会有惊群问题。
# 方案2. Ring-based failure detect
每个节点存储不同的id,id最大的作为主节点,每个节点Watch比自己大的节点。可以理解成Ring-based fd。
可能存在的问题
// TODO
网友评论