欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

分布式与集群的区别

程序员文章站 2022-04-09 18:17:40
集群 一组服务实体协同工作,提供比单个服务实体更可伸缩和可用的服务平台。在客户端中,集群就像一个服务实体,但事实上,集群是由一组服务实体组成的。 与单个服务实体(服务实体即服务器)相比,集群提供了以下两个关键特性: 可伸缩性(弹性变化):新的服务实体可以动态地添加到集群中,从而提高集群的性能。 高可 ......

集群

一组服务实体协同工作,提供比单个服务实体更可伸缩和可用的服务平台。在客户端中,集群就像一个服务实体,但事实上,集群是由一组服务实体组成的。

分布式与集群的区别

 

与单个服务实体(服务实体即服务器)相比,集群提供了以下两个关键特性:

可伸缩性(弹性变化):新的服务实体可以动态地添加到集群中,从而提高集群的性能。

高可用性:在集群中,同一服务可以由多个服务实体提供。如果一个服务实体失败,另一个服务实体将接管失败的服务实体。提高了应用程序的可用性,降低客户端遇见错误的机率!

 

为了具备上面两个特性:集群必须具备两种能力。

负载平衡:将客户端任务均匀分配集群中的服务实体(理解:不然增加了新服务实体,哪来提高性能?原来很忙的实体还是这么忙,新增的没活做,增了有何用。)

错误恢复:某服务实体因某些原因执行任务失败,存在另一个服务实体接替它并继续执行任务。从客户端角度看,它的任务始终一台服务器执行,处理的时候发生了什么事,反正拿到结果就好了,这个过程就好像是透明的。

 

为了实现集群服务,需要用到两种技术。

集群地址:客户端通过访问集群地址获取服务(获取服务?就是响应客户端的请求)。负载平衡器会一直维护集群地址,将集群地址转换为内部服务实体的地址(有请求来了才去转换,因为要明确到哪个服务实体获取服务)

内部通信:为了协同工作,实现负载平衡和错误恢复,集群的服务实体必须经常通信。(a服务实体问b服务实体:你挂了?     b服务实体回答:我挂了。你去帮我继续执行这任务吧。    a服务实体说:上下文信息给我,我看看你执行到哪?好接手任务。)

分布式

一个大的应用程序被分成许多任务(每一任务只完成应用程序的一部分功能),每一个任务都由一台或多台服务器互相合作完成。不同任务部署在不同服务器上。

分布式与集群的区别

分布式是为了缩短单个任务的执行时间,以提高效率,并且通过增加每个单元时间执行的任务数量来提高效率。例如:如果一个任务由10个子任务组成,每个子任务需要1个小时单独执行,并且在单个服务器上执行任务需要10个小时。使用分布式解决方案,提供了10个服务器,每个服务器只负责处理子任务,而不考虑子任务之间的依赖关系,完成任务只需要一个小时。

区别

分布式:不同服务器,实现不同业务。

集群:多台服务器实现相同业务。

分布式的结构是松散的,大家加起来才是一个完整的组织。如果一个组织挂了,没有其他组织替代它执行任务。

集群中的组织是很多的,某个组织挂了,另一个相同组织可以替代它。

分布式和集群是可以同时存在的。主要看业务需要!都可以在不同方向上提高性能。分布是纵向,集群是横向。至于其他方面对比嘛......

 分布式与集群的区别

 

文章大部分内容译自