关于分布式与集群的概念

面试越来越难了,以前做的项目都是单工程项目。想去大厂得先去了解下分布式架构或者集群相关内容。所以特地自己整理一些个人的理解。

本人接触的项目大型项目是用过分布式+服务器集群结构去完成的

首先我们举一个例子:

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

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

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


分布式与集群的区别

分布式主要是对于将不同业务分布在不同的地方。而集群的话,是将几个服务器集中在一起去实现同一个业务。分布式中的每一个节点,都能做集群,反之集群就不一定是分布式了。

举例:我原来是做政务信用机构的网站,由于属于二次开发大部分时间都与服务器与维护大交道,所以空闲的时间去了解了一些相关的内容。

这个项目对访问量有一些需求,于是在应用服务器(部署项目的服务器上做了一个集群tomcat的负载均衡)作为一个响应服务器,这就是在节点上做了一个分布式的解决方法,把访问的量都分散都其他的服务器去响应。而分布式的话,理解和集群差不多,但是它的组织性就没那么强了,一个挂了其他顶上去,分布式的每一个节点,能完成不同的业务,但是这个节点挂了,那这个业务基本上就没办法去实现了。比如那个项目中分布了3个业务,应用服务器处理响应,数据服务器处理数据相关访问,数据中心服务器去做数据抽取与数据交换相关的工作。


以下是摘抄自网络文章:

集群概念

1. 两大关键特性 
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:

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

·  高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出 错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。

2. 两大能力 
为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:

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

·  错误恢复--由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。

负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。

3. 两大技术 
实现集群务必要有以下两大技术:

·  集群地址--集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基 本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均 衡器实现真正的负载均衡算法,有的只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有 一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。

·  内部通信--为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。

具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值