SeasonWoo
SeasonWoo
老师,请教一下,“这样就可以容忍少数(通常是不超过半数)的节点失联,使得增加机器数量对系统整体的可用性变成是有益的”,为什么容忍少数节点的失联,就能够使得增加机器数量对整体变成有益的,这个是怎么证明出来的? 我个人的粗浅理解,假设3/5是指系统中共5个节点,其中需要3个节点通过才能够认可操作转移的请求,那么3/5则表示系统达成一致性的阈值,当节点数量不断增加,例如增加到21个时,一致性的阈值为11/21,比3/5小,也就是系统达成一致性的阈值减少,我们由CAP理论可知,P不变,可用性和一致性成负相关,那么一致性阈值越低,那么系统整体的可用性则越高。 那么为什么是超过半数呢?如果是小于半数会怎么样呢? 超过半数是(n+1)/(2n),小于半数是(n-1)/(2n),通过[在线求导器](https://www.derivative-calculator.net/)可知,(n+1)/(2n)单调递减,(n-1)/(2n)单调递增,那么当“多数服从少数时”,随着节点数量的增加,系统达成一致性的阈值增加,则整体系统的可用性越低。 (没有严谨的证明,如果有理解不对的地方,希望老师能够指出)
请教一下,这里说后微服务时代是有软件演化成软硬件结合,那么在后微服务时代之前,只由软件层面独立应对微服务架构问题会有什么坏处?(可以举个实际的例子吗?)