分布式与集群的区别是什么?

汪青兰

“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”

分布式是指将不同功能,或不同地点,或拥有不同数据的多台计算机通过网络连接起来,由控制系统统一管理,完成大规模信息处理的计算机系统。

集群是指将多台服务器集中在一起提供同一种服务,在逻辑上可以看做是一台服务器对外进行服务,这些服务器组合就是集群。

如题,分布式和集群的区别是什么?

哟哟简单总结一句话:分布式是“并联”工作的,集群是“串联”工作的。

下面哟哟来具体介绍一下两者的区别:

1、从概念上就可以看出两者最主要的区别就是分布式是将一种业务拆分成多个子业务部署在多台服务器上,进而对外提供服务;而集群就是将多台服务器组合在一起提供同一种服务;

2、集群强调在多台服务器位置集中,并且容易统一管理;而分布式没有具体要求,不论放置在哪个位置,只要通过网络连接起来就行;

3、集群是一种物理形态,即多台服务器在一起提供一种服务;而分布式是一种工作方式,即一个程序或业务分解到多台服务器分别完成;

总之,两者最明显的区别还是集群是多台服务器做相同类型的任务,分布式是多台服务器协同做一种任务。


哟哟吼说科技

从工作形式来说:

分布式是将一个业务分拆为多个子业务,部署在不同的服务器上。

集群是将多台服务器集中在一起,实现同一业务。


从解决问题的角度来说:

分布式是研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配为许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。

分布式是以缩短单个任务的执行时间来提升效率的,任务具有差异性。


集群是一组计算机作为一个整体向用户提供一组网络资源,这些单个的计算机系统就是集群的节点。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他们看来,集群是一个系统,而非多个计算机系统,并且集群系统的管理员可以随意增加和删改集群系统的节点。

集群是以提高单位时间内执行的任务数来提升效率的,任务具有同一性。


从特点来看:

分布式:

横向扩展性强

横向可扩展性是指通过增加服务器数量来提升整体性能,纵向可扩展性是指提升每台服务器性能进而提升总体性能。纵向可扩展性的上限非常明显,因为单台服务器的性能不可能无限提升,而横向可扩展性的上限空间比较大,分布式又恰恰总能很方便地增加服务器。


廉价高效

这是分布式系统的突出特点,成本低廉的PC服务器组成的分布式,在性能方面能达到超越大型机的处理性能,在成本上远低于大型机。


网络开销大

网络开销是分布式系统最大的瓶颈。


集群:

可扩展性

集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。


高可用性

在集群中,同样的服务可以由多个服务实体提供,如果一个服务实体失败了,另一个服务实体会接管失败的服务实体,服务实体冗余保证了错误恢复能力,增强了系统的可用性。


负载均衡

负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。


分布式与集群间的区别联系:

分布式中的每一个节点,可以做高可用集群,这样可以保证分布式每个节点可用。而集群并不一定就是分布式的。


云汇天下Chainedbox

简单来解释:

一个任务,只有一个服务器来运行,这个服务器会累成狗;(单机结构)

多个累成狗的服务器组合在一起运行,就可以叫集群,他们是不是一起协作着干活,这个谁也不知道;(集群结构)

基因优化整合之后,多个服务器被拆分到运行在不同的机器上,就像一群小小的服务器一起工作,(分布式结构)

要充分理解这个概念,首先先明白什么是单机结构:

普通的软件是运行在一台物理机器上的,一个系统业务量很小的时候,可以将所有的代码都放在一个项目中,然后部署在一台服务器上,这台服务器提供整个项目所有的服务。单机结构的啥缺点显而易见,因为它的处理能力是有限的,当业务增长到一定程度的时候,单机的硬件资源将无法满足。

此时便出现了集群模式,单机处理到达瓶颈的时候,你就把单机复制几份,这样就构成了一个“集群”。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍。

分布式结构就是将一个完整的系统,按照业务功能,把一个服务系统拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。