首页 > 其他分享 >FastCFS:再谈 选主 与 过半写

FastCFS:再谈 选主 与 过半写

时间:2023-04-07 21:24:42浏览次数:54  
标签:选主 FastCFS 群集 再谈 servers 节点 过半

这二者乍一看好像是一回事:都是要求遵循大多数原则(即过半数原则)。

其实,在概念上是不同的!

 

选主:本质是功能角色的概念。“国不能一日无主、群龙不能无首;否则,则是”一盘散沙、溃不成军“。

  对于FastCFS组件的群集来说,必须要有master,这个master是在server中自动选出来的,选择master的过程需要遵循大多数原则。

  因此,对于一个只有偶数个servers的群集来说,必须要引入vote角色才行。对于奇数个servers的群集则没有这个问题。

 

过半写:指的是数据落地安全层面的概念。

  对于FastCFS的servers之间的数据同步,必须满足超过过半数的节点落地,如此才能保证任何时候至少都有1份最新版本的数据落地。

  加上群集健康运行需要保持的servers数量的约束,可以保证任何时候群集都是数据安全的,保证具有可以在各种故障中恢复数据的能力。

  

所以,这是2个不同的东西。FastCFS中可以根据实际情况去分别选择不同的策略。

进一步,我们应该要保证任何时候都要首先满足“过半写”,然后满足“选主”,这样才能保证一个健康的群集。

 

细心的话,你可能会意识到:

  对于2节点群集来说,非常脆弱:我们即使通过引入vote角色,如果仅有1个正常数据节点,虽然群集能正常“选主”,

但此时,无法满足“过半写”的基本条件,我们必须选择适当的写策略,否则很很容易发生数据安全层面的“脑裂”问题。

  特殊的,1节点群集,是个特殊的奇数群集,满足“选主”,也不满足“过半写”,只能特殊场景使用。

标签:选主,FastCFS,群集,再谈,servers,节点,过半
From: https://www.cnblogs.com/jinzhenshui/p/17297373.html

相关文章

  • FastCFS:FastVote-server的作用、使用的时机
     第一:fastvote-server仅仅是个简单的投票辅助服务器,所谓的投票客户端功能原生集成在fastdir、faststore服务器组件中第二:fastdir、faststore当且仅当 其群集中的servers个数为【偶数】(even)时,才去使用fastvote-server的辅助投票功能第三:当fastdir、faststore的配置中,servers......
  • ZooKeeper数据和集群特点,ZAB协议和选主过程解析
    前言本文讲述ZooKeeper集群架构特点、数据结构、事务ID、选主和ZAB协议具体执行过程。服务保证ZooKeeper非常快速且非常简单。由于它的目标是构建更复杂的服务(如同步)的基础,因此它提供了一组保证:【顺序一致性】来自客户端的更新将按发送顺序执行,因为只有唯一的主节点负责写......
  • 再谈DDD和Microservices
    面对高复杂度的时候我们会做关注点分离,这是一个最基本的哲学原则。技术维度分离,类似MVC这样的分层思想是我们广泛接受的业务维度分离,根据不同的业态来划分系统,比如按售前、......
  • 再谈编程范式(3):理解面向过程/面向对象/函数式编程的精髓
    面向过程(PO)面向过程是随着VB一起来到我的世界,那个时候会的非常有限,感觉能把程序写出来自己就非常棒了,VB是做那种可视化界面,在工具栏拖个框框放到面板上,然后就在各个事件上写......
  • 再谈编程范式(3):理解面向过程/面向对象/函数式编程的精髓
    面向过程(PO)面向过程是随着VB一起来到我的世界,那个时候会的非常有限,感觉能把程序写出来自己就非常棒了,VB是做那种可视化界面,在工具栏拖个框框放到面板上,然后就在各个事件上......
  • 再谈全链路压测
    转载:https://www.cnblogs.com/imyalost/p/10525766.html之前的博客,有对业内比较出名的几家互联网大厂的全链路压测方案进行过整理和总结,传送门:聊聊全链路压测。时隔一年......
  • 再谈性能测试之需求调研
    转载:https://www.cnblogs.com/imyalost/p/9941938.html之前的博客聊聊性能测试开始前的准备工作,聊了一些关于性能测试开始前要做的准备工作。这篇博客,来谈谈性能测试开始......
  • 168_Power Query 再谈日期表
    PowerQuery再谈日期表需要附件的朋友可以点赞关注后,在公众号(焦棚子)后台回复日期表三个字即可领取。一、背景在PowerBI或者PowerPivot做业务分析中,必不可少......
  • 【RocketMQ】DLedger选主源码分析
    RocketMQ4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用Raft算......
  • 再谈如何学习英语(为什么要建立以听力为主导的英语学习方式,以及如何轻松地突破英语听说
    再谈如何学习英语(为什么要建立以听力为主导的英语学习方式,以及如何轻松地突破英语听说读写)00:00视频开始1:10简述我的英语学习方式,建立强大的英语听力能力和英语词汇,然......