一.概念
来源-维基百科
集群:
在计算机科学中,分布式计算(英语:Distributed computing),又译为分散式運算。这个研究领域,主要研究分布式系统(Distributed system)如何进行计算。分布式系统是一组电脑(computer),通过网络相互链接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分区成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论的科学。
分布式:
计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多。 计算机集群的特点: 1. 通过多台计算机完成同一个工作。达到更高的效率。 2. 两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。
分布式就是将一个任务分摊到不同的节点共同完成,这几个节点是协同工作的,存在互相依赖的关系,其中一个挂掉了有可能使得其他节点都不能工作;而集群就是多个节点执行相同的任务,互不干扰,就像饭堂的窗口,每个窗口的职能都是一样的,在哪个窗口都能达到目的,随便关了哪个窗口都可以,只要还有窗口可用,客人就能排队打饭。
所以,集群是个物理形态,指同一业务同时部署在多个服务器上,解决可靠性的问题.
分布式是种工作方式,把一个业务分拆成多个子业务,部署在不同的服务器上,即分解任务,将职能拆解,解决高性能、高并发的问题.
二.侧重点及关系
集群强调物理集中、统一管理、任务同一.集群中可能运行着一个或多个分布式系统,也可能一个都没运行.
分布式强调机器间的协作,其重点是任务可拆分.可能运行在一个集群上,也可能运行在不属于一个集群的多台(2台也算多台)机器上。
集群中如果某台服务器挂了(硬件、软件、人为),那么其它的相关服务器就会接管这个业务,依旧能提供服务.
分布式的每一个节点,都完成不同的业务,一个节点挂了,那这个业务就不可访问了。
三.举个栗子
如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需10小时。
采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)
而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,1小时后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。