V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF
目录
- TB级数据放在一台机器上:难啊!
- 到底啥是分布式存储?
- 那啥又是分布式存储系统呢?
- 天哪!某台机器宕机了咋办?
- Master节点如何感知到数据副本消失?
- 如何复制副本保持足够副本数量
- 删除多余副本又该怎么做呢?
- 全文总结
这篇文章,我们将用非常浅显易懂的语言,跟大家聊聊大规模分布式系统的容错架构设计。
虽然定位是有“分布式”、“容错架构”等看起来略显复杂的字眼,但是咱们还是按照老规矩:大白话 + 手绘数张彩图,逐步递进,让每个同学都能看懂这种复杂架构的设计思想。
1、TB级数据放在一台机器上:难啊!
咱们就用分布式存储系统举例,来聊一下容错架构的设计。
首先,我们来瞧瞧,到底啥是分布式存储系统呢?
其实特别的简单,咱们就用数据库里的一张表来举例。
比如你手头有个数据库,数据库里有一张特别大的表,里面有几十亿,甚至上百亿的数据。
更进一步说,假设这一张表的数据量多达几十个TB,甚至上百个TB,这时你觉得咋样?
当然是内心感到恐慌和无助了,因为如果你用MySQL之类的数据库,单台数据库服务器上的磁盘可能都不够放这一张表的数据!
咱们就来看看下面的这张图,来感受一下。
2、到底啥是分布式存储?
所以,假如你手头有一个超大的数据集,几百TB!那你还是别考虑传统的数据库技术来存放了。
因为用一台数据库服务器可能根本都放不下,所以我们考虑一下分布式存储技术?对了!这才是解决这个问题的办法。
咱们完全可以搞多台机器嘛!比如搞20台机器,每台机器上就放1/20的数据。
举个例子,比如总共20TB的数据,在每台机器上只要把1TB就可以了,1TB应该还好吧?每台机器都可以轻松加愉快的放下这么多数据了。
所以说,把一个超大的数据集拆分成多片,给放到多台机器上去,这就是所谓的分布式存储。</