分布式入门篇(二)
分布式编程主要是解决由于分布式而带来的一系列问题。我们希望把分布式系统看成是具有超大规模处理能力的单机系统,然而这种高层次的抽象会失去许多底层的细节,虽然便于理解,但是加大了编程的难度。所以分布式的抽象主要是在“实现”和“理解”之间取得一个平衡。抽象层次越高,理解起来越简单,实现起来越困难,事实上,这是一个贯穿于整个计算机系统各个子领域的权衡问题,没有通用的最优解,只有针对具体的合适的解决方法。我们的目标旨在寻找到一个足够好的抽象模型,尽可能让编程变得简单的同时容易让人可以理解。
分布式入门篇(一)
分布式编程是一门关于在多台机器上实现,在一台机器上可以解决的问题,的哲学。 一般情况下,计算机系统有两种需要完成的基本任务:1.存储;2.计算,事实上,如果你拥有无限的内存以及无限的研发时间,我们根本不需要分布式(只考虑计算任务的情况),然而这很明显是不可能的事情。所以,我们很自然地就想通过增加机器来解决大数据问题。然而不幸的是,无脑增加机器不总是能提升解决问题的速度,特别是当机器数量达到一定程度时,由于网络通信时间的消耗,以及复制等各种操作,单纯的增加机器很难提升整个分布式集群的计算能力。所以研究分布式算法,特别是研究如何高效的整合多台机器以提供更加强有力的计算能力的方法,是非常有必要的。