分布式,容错: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份。

相关推荐
Tim_101 分钟前
【算法专题训练】30、二叉树的应用
算法
夜晚中的人海2 分钟前
【C++】哈希表算法习题
c++·算法·散列表
Kuo-Teng33 分钟前
LeetCode 198: House Robber
java·算法·leetcode·职场和发展·动态规划
2501_9411114034 分钟前
C++中的状态模式实战
开发语言·c++·算法
SelectDB44 分钟前
十亿 JSON 秒级响应:Apache Doris vs ClickHouse,Elasticsearch,PostgreSQL
算法
e***28291 小时前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby
2***57421 小时前
后端消息中间件对比,RabbitMQ与RocketMQ
分布式·rabbitmq·rocketmq
百***26631 小时前
RabbitMQ高级特性----生产者确认机制
分布式·rabbitmq
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——除自身以外数组的乘积
算法·leetcode·职场和发展·结构与算法
源码之家1 小时前
机器学习:基于python租房推荐系统 预测算法 协同过滤推荐算法 房源信息 可视化 机器学习-线性回归预测模型 Flask框架(源码+文档)✅
大数据·python·算法·机器学习·数据分析·线性回归·推荐算法