为什么要有分布式系统?( 二 )


同样是做指标统计,几百 G 的用户注册数据可能不算大,但几百 G 的用户行为数据可能就很大了 。后者比前者更有可能需要分布式系统,因为增长速度会快一两个数量级 。
 
6
一个乍看起来很无厘头,细想又挺值得思考的问题:微服务是不是分布式系统?
类似的问题还有:分库分表+访问中间件的数据库是不是分布式系统?
广义来讲,都可以算是 。
狭义来讲,也是从这个系列关注的角度来看,分布式系统是指大数据领域下,以处理海量数据为目的的系统 。
当然,分布式系统远不止这么简单的两个分类,也远不止表面上看起来这样随便弄弄就能用好,还有非常多需要考虑和解决的问题,其中很多恰恰是分布式本身带来的问题(听起来很无奈吧),这也是这个系列后面会花大量篇幅去讲的内容 。
这样,我们就对开头提到的 What -- 这个东西是什么,也有了基本的认识 。
(看吧,先讲 Why,再讲 What,也没有影响我们学习这个东西 。我这么组织,也是想借这点来强调开头提到的多思考 Why 的重要性 。)
总结:
这个系列文章关注的分布式系统,是指以处理海量数据为目的的多机系统 。
我们之所以需要分布式系统,是为了摆脱单机资源的束缚 。再具体点,是为了解决这两个问题:

  • 单台机器算的慢,哪怕协程、多线程、多进程全用上
  • 单台机器装不下,哪怕你有再多的钱
实际应用中,分布式系统最基础核心的是两种:
  • 分布式计算框架,用来解决算的慢的问题
  • 分布式存储引擎,用来解决存不下的问题
知道了为什么要有分布式系统,以及什么时候应该用分布式系统 。紧接着一个问题就是,分布式系统都是怎么来的,又是谁做出来的呢?




推荐阅读