前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式和集群的区别与联系

分布式和集群的区别与联系

作者头像
dys
发布2018-04-02 16:58:29
7590
发布2018-04-02 16:58:29
举报
文章被收录于专栏:性能与架构性能与架构

分布式和集群都是用来提高系统效率的,只是方式不同

分布式:一个业务拆成多个子业务,部署在不同的服务器上,以缩短单个任务的执行时间来提升效率

集群:同一个业务,部署在多个服务器上,通过提高单位时间内执行的任务数来提升效率

例如:

如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时

采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)

采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务

在客户端看来,一个集群就是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了两个关键特性:

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

(2)高可用性-集群通过服务实体冗余避免了服务出错,集群中,如果一个服务实体失败了,另一个服务实体会立即接管,增强了应用的可用性

分布式和集群通常结合起来使用,分布式提供了去中心化的能力,可以把系统的不同业务拆分出来,不同的服务器提供不同的业务服务,解决了之前单一入口压力过大问题,但当某个服务器出现问题,此服务器中的业务就失效了,集群提供了高可用性能力,就可以对每个业务构建集群,这样就保证了业务稳定性,集群同时还有很好的扩展性,当某个业务压力过大时,可以对此业务所在集群动态添加服务器,增强此业务的性能

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档