Introduction

分布式系统的优点:

  • Parallelism:通过并行提高计算量、数据处理量;
  • Fault Tolerate:通过多个服务器提升容错率;
  • Physically:聚合物理意义上相互隔离的机器;
  • Security:系统可以分布式地运行在地理位置相聚很远的地方,提升容灾性;

分布式系统的缺点与困难:

  • Concurrent Parts:需要同时并行地处理多个部分;
  • Complex Interactions:需要处理复杂的服务交互逻辑(微服务中通过“服务发现”实现分布式系统);
  • Partial Failure:无法同时达到绝对准确性与服务可用性;
  • Performance:需要设计精巧的算法以实现更高的性能;

MapReduce 是“分布式系统”的开山论文,它最初被 Google 研发出来,用于解决大容量的网页问题:http://nil.csail.mit.edu/6.824/2020/papers/mapreduce.pdf