11张手绘图:搞定分布式系统容错架构

V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF

目录

  1. TB级数据放在一台机器上:难啊!
  2. 到底啥是分布式存储?
  3. 那啥又是分布式存储系统呢?
  4. 天哪!某台机器宕机了咋办?
  5. Master节点如何感知到数据副本消失?
  6. 如何复制副本保持足够副本数量
  7. 删除多余副本又该怎么做呢?
  8. 全文总结

这篇文章,我们将用非常浅显易懂的语言,跟大家聊聊大规模分布式系统的容错架构设计。

虽然定位是有“分布式”、“容错架构”等看起来略显复杂的字眼,但是咱们还是按照老规矩:大白话 + 手绘数张彩图,逐步递进,让每个同学都能看懂这种复杂架构的设计思想。


1、TB级数据放在一台机器上:难啊!

咱们就用分布式存储系统举例,来聊一下容错架构的设计。

首先,我们来瞧瞧,到底啥是分布式存储系统呢?

其实特别的简单,咱们就用数据库里的一张表来举例。

比如你手头有个数据库,数据库里有一张特别大的表,里面有几十亿,甚至上百亿的数据。

更进一步说,假设这一张表的数据量多达几十个TB,甚至上百个TB,这时你觉得咋样?

当然是内心感到恐慌和无助了,因为如果你用MySQL之类的数据库,单台数据库服务器上的磁盘可能都不够放这一张表的数据!

咱们就来看看下面的这张图,来感受一下。

11张手绘图:搞定分布式系统容错架构_第1张图片


2、到底啥是分布式存储?

所以,假如你手头有一个超大的数据集,几百TB!那你还是别考虑传统的数据库技术来存放了。

因为用一台数据库服务器可能根本都放不下,所以我们考虑一下分布式存储技术?对了!这才是解决这个问题的办法。

咱们完全可以搞多台机器嘛!比如搞20台机器,每台机器上就放1/20的数据。

举个例子,比如总共20TB的数据,在每台机器上只要把1TB就可以了,1TB应该还好吧?每台机器都可以轻松加愉快的放下这么多数据了。

所以说,把一个超大的数据集拆分成多片,给放到多台机器上去,这就是所谓的分布式存储

你可能感兴趣的:(分布式,架构,Java,分布式,系统架构,java)