开发者社区> 问答> 正文

当出现主备出现分歧时,会导致什么后果?

当出现主备出现分歧时,会导致什么后果?

展开
收起
kun坤 2020-04-23 15:33:47 477 0
1 条回答
写回答
取消 提交回答
  • 副本的b/c状态与主节点的状态不一致,如果此时出现主节点宕机,客户端就会看到数据不一致。
    
    例子:GFS租约过期
    
    假设GFS的master是有副本,chunkserver在租约过期前的60s就发送续期指令。(时钟中断管理服务器时间)
    
    在master上,收到请求后发生时钟中断。此时主节点对chunkserver进行续约
    
    在backup上,时钟中断在请求之前发生,此时副本记录的chunkserver已经过期了。
    
    假设此时主节点崩溃,失效的主节点被副本接管。副本发现之前的chunkserver已经过期了,需要重新选择新的chunkserver。那么此时在系统中就会出现两个chunkserver都持有合法的租约。
    
    因而要求:副本要和主节点所有事件都同步、顺序一致、保持指令流的一致性。
    
    FT的日志包含三部分:指令、类型、数据
    
    2020-04-23 15:34:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载