对于很多初学者来说,分布式系统和集群让人搞的是云里雾里,很多人问说:不就是搞多台机器同时运行么?这样来提高工作效率。
对,简单的说,两者都是通过这种途径来提高工作效率,但是它们之间的区别也是非常的明显。
首先说分布式系统,所谓的分布式,就把一项任务分发出去,你可以这么想象,一项大任务的完成取决于它的10个子任务完成,如果每个子任务耗时1小时,那么一台机器完成一项任务需要10小时,那么分布式就是说拿来10台机器,每个机器就负责执行一项任务,这样的话10台机器在一个小时后就完成了一项任务。这样就提高了工作效率。
那么集群呢?它也拿来10台机器,但是不同于分布式系统的是,每台机器的完成一个大任务,也就是说每台机器完成一个任务还是需要10小时,但是我用10台机器,10小时后呢,10台机器完成了10项任务,平均下来,还是一小时一项任务。这样提高了效率。
简而言之,分布式系统的每台机器要相互配合,团结起来才能把事情办成,任何一台机器的运作出了问题,都会导致整个任务的失败。而集群,其中一台机器运作出问题,只是这台机器当掉而已,其它的机器照样完任务。