Why is it recommended to create clusters with odd number of nodes? | 为什么集群节点建议奇数个?

常说集群节点要奇数台,因为当你节点总数由奇数n变为n+1的时候,并没有增加fault tolarance,反而增加了fault的概率。但总感觉不太确定,我一想,当你增加一个节点的时候,不仅增加了错误的概率,也增加了正确的概率呀。所以奇数台相比偶数台,确实能够降低风险吗?

首先参考:https://stackoverflow.com/questions/58823341/why-is-it-recommended-to-create-clusters-with-odd-number-of-nodes

然后参考:http://bytecontinnum.com/2016/09/zookeeper-always-configured-odd-number-nodes/

以及参考 不搞数学的汤老师 在博客中说的:

为什么说奇数台能降低风险呢?这是相较于偶数台来说的
首先不管三台节点还是四台节点,都只能挂掉一台
但是是三台节点容易挂一台,还是四台节点容易挂一台呢?当然是三台啊!
很简单举个例子,你玩 LOL,暴击率百分之10,是三下出暴击的几率高,还是四下出暴击几率的高
你老板再有钱,也不会花高价买故障吧?

直观上来看,他们说的都很有道理。但是如果挂掉2台的情况呢?是3台节点更容易挂掉2台及以上,还是4台节点更容易挂掉2台以上呢?

这个问题不再像刚才那样直观了,因为当你增加一个节点的时候,不仅增加了异常的概率,也增加了正常的概率。

既然不能直观看出结果,那我们算一下吧:

可以看到,3个节点时,挂2台及以上的概率是 0.000398;当节点个数增加到4个的时候,挂2台以上的概率是 0.000592.

所以确实,从计算结果来看,奇数个节点比偶数个节点有更大的容错性。

我的理解:3台–>4台时,fault tolerence都是1台。但只有当新增的那台保证100%可用、永远不挂的时候,整体可用性才不变。只要新增的那台有挂掉的可能,整体可用性就会被拉低。

Why is it recommended to create clusters with odd number of nodes? | 为什么集群节点建议奇数个?相关推荐

  1. DaoCloud道客云原生开源项目Clusterpedia(The Encyclopedia of Kubernetes clusters)加持kubectl,检索多集群资源

    DaoCloud道客云原生开源项目Clusterpedia,全称The Encyclopedia of Kubernetes clusters,源码查看地址:https://github.com/cl ...

  2. quartz集群报错but has failed to stop it. This is very likely to create a memory leak.

    quartz集群报错but has failed to stop it. This is very likely to create a memory leak. 在一台配置1核2G内存的阿里云服务器 ...

  3. oracle rac 距离限制,Oracle Extended Distance Clusters (Oracle 扩展距离集群 - 异地RAC)

    Oracle Extended Distance Clusters指的是RAC的节点分别放在不同的地方,这些节点可以放在不同的机房,也可以放在不同的城市 1. 适合那些昂贵的高速光纤已经架设,且距离小 ...

  4. IQ01/IQ02 Create/Change Material Serial Number BAPI

    In recent days in the project, there're some requirement on creating&changing Material Serial nu ...

  5. k8s pod分类、核心组件、网络模型、kubectl常用命令

    k8s的pod分类.核心组件.网络模型.kubectl常用命令 K8s基本概念 pod分类 核心组件 K8s的三种网络模型 kubectl常用操作 kubeconfig配置文件 kubectl管理命令 ...

  6. k8s环境搭建-集群模式

    问题: 1.kubernetes报错Error from server (AlreadyExists): error when creating "kubernetes-dashboard. ...

  7. NoSQL(二):创建、管理集群

    创建集群 集群环境 拓扑结构 IP规划 工作原理 工作原理 无论有多少台redis服务器,一共都会有0-16383共16384个槽 slot的作用:用来确定存储变量时,变量存储在哪一台redis服务器 ...

  8. redis cluster搭建

    环境: 搭建环境为centos7,有外网 IP                           实例端口 192.168.8.28      7000.7001.7002 192.168.8.29 ...

  9. Docker知识点总结及其命令的使用

    Docker Docker简介 Docker与Tomcat有什么区别? Docker与虚拟机有什么区别? Docker的基本组成 Docker的联合文件系统 Docker基本命令 Docker中的几个 ...

最新文章

  1. 人的原罪、本我和超我
  2. 如何按值对字典排序?
  3. base64编码 springboot_Spring Boot 中如何实现 HTTP 认证?
  4. wxWidgets:wxListView类用法
  5. 硅谷程序员佛系养生法:我不修bug, 谁修bug
  6. librosa能量_librosa与python_speech_features
  7. 2013年4月管理计算机应用,全国2013年4月高等教育自学考试管理系统中计算机应用试题及答案...
  8. simulink 得到任意想要的 PWM 波形
  9. 【opencv图像基础】图像常见的通道模式:RGB、YUV、HSV
  10. 2019软科计算机科学与工程,2019上海软科世界一流学科排名计算机科学与工程专业排名斯蒂文斯理工学院排名第301-400...
  11. mfc 子窗体 按钮不触发_python项目实战:pyQT5 实现窗体之间传值
  12. php怎么把多个pdf拼接成一个,两张pdf合并成一页 怎么将pdf文件中的页面进行拼接?两页或多页pdf拼接...
  13. 用supermemo背单词达到5000词条
  14. DHCP报文分析(三级网络技术)
  15. EDIFACT 标准
  16. 蓝桥杯B组 杨辉三角
  17. OnTime pro for mac(多功能时钟工具)
  18. 2010提升你幽默感的经典短句!
  19. Java 一元三次方程求解
  20. 留学地 各国比较2021

热门文章

  1. POJ - 2411 Mondriaan's Dream(状压dp)
  2. TensorFlow2-卷积神经网络
  3. HDU3255(线段树+扫描线)
  4. HDU3549(最大流算法的Dinic算法)
  5. python3爬虫(8)爬虫框架scrapy安装和使用
  6. Mysql游标循环遍历
  7. Python平衡点问题
  8. Python中的MySQL数据库编程
  9. 看完这篇文章,我奶奶都懂了https的原理
  10. 如何让 Spring Boot 启动的更快?