分布式系统的优点:
- 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