分布式,容错:10台电脑坏了2台

由10台电脑组成的分布式系统,随机、任意坏了2台,剩下的8台电脑仍然储存着全部信息,可以继续服务。这是怎么做到的?

设N台电脑,坏了H台,要保证上述性质,需要有冗余,总的存储量降低为1/(H+1)。例如:

H=1,随机坏1台,总容量变为1/2;

H=2,随机坏2台,总容量变为1/3;

特别地,H=0,总容量不变;

H=N-1,总容量变为1/N,这时,每台电脑都储存着全部信息,保证任意坏了N-1台,剩下的1台还能正常工作。

采用分区、轮换的方式进行存储。如图:

H=2,则每台电脑分H+1=3个分区。分区A储存"本位信息",分区B、C储存备份信息。用轮换的方式存储,首先,电脑1的分区A,储存1号信息;然后,电脑2的分区B、电脑3的分区C,也储存1号信息。

当电脑3和电脑5坏了以后:

此时,整个分布式系统中,仍然能够找到1到10的完整信息。其中,3号信息还剩1份,5号信息还剩2份。

相关推荐
TracyCoder1236 分钟前
LeetCode Hot100(34/100)——98. 验证二叉搜索树
算法·leetcode
A尘埃6 分钟前
电信运营商用户分群与精准运营(K-Means聚类)
算法·kmeans·聚类
qq_12498707539 分钟前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
power 雀儿1 小时前
掩码(Mask)机制 结合 多头自注意力函数
算法
会叫的恐龙1 小时前
C++ 核心知识点汇总(第六日)(字符串)
c++·算法·字符串
小糯米6011 小时前
C++顺序表和vector
开发语言·c++·算法
We་ct2 小时前
LeetCode 56. 合并区间:区间重叠问题的核心解法与代码解析
前端·算法·leetcode·typescript
Lionel6892 小时前
分步实现 Flutter 鸿蒙轮播图核心功能(搜索框 + 指示灯)
算法·图搜索算法
小妖6662 小时前
js 实现快速排序算法
数据结构·算法·排序算法
xsyaaaan2 小时前
代码随想录Day30动态规划:背包问题二维_背包问题一维_416分割等和子集
算法·动态规划