【Hadoop技术】——分布式系统概述

2020-10-28 20:44发布

一、 分布式集群

集群和分布式的区别
(1)从解决问题的角度看:分布式是以缩短单个任务的执行时间来提升效率的;集群则是通过提高单位时间内执行的任务数来提升效率。
(2)从软件部署的角度看:分布式是指将不同的业务分布在不同的地方;集群则是将几台服务器集中在一起,实现同一业务。

分布式中的每一个节点,都可以做集群,集群不一定就是分布式。

一个分布式系统,是通过多个节点组成,各节点都是集群化,并且各集群还是分布式。

二、 负载均衡

集群服务器之间如何分工,需要借助的是负载均衡。

负载均衡是指将请求分摊到多个操作单元也就是分开部署的服务器上,Nginx 是常用的反向代理服务器,可以用来做负载均衡。

常见的负载均衡策略

轮询

在这里插入图片描述
这是最常用也是最简单的策略,平均分配,人人都有、一人一次。

加权轮询

在这里插入图片描述
在轮询的基础上,增加了一个权重的概念。权重是一个泛化后的概念,可以用任意方式来体现,本质上是能者多劳的思想。比如,可以根据宿主的性能差异配置不同的权重。

最快响应

在这里插入图片描述

这也是一种动态负载均衡策略,它的本质是根据每个节点对过去一段时间内的响应情况来分配,响应越快分配的越多。具体的运作方式也有很多,上图的这种可以理解为:将最近一段时间的请求耗时的平均值记录下来,结合前面的加权轮询来处理,所以等价于 2:1:3 的加权轮询。

Hash 法

在这里插入图片描述

Hash 法的负载均衡与之前的几种不同在于,它的结果是由客户端决定的。通过客户端带来的某个标识经过一个标准化的散列函数进行打散分摊。上图中的散列函数运用的是最简单粗暴的取余法。

三、 小结

1.负载均衡和分布式的区别又是什么?
负载均衡:请求是不可拆分的,是独立的一个请求,被服务器当中的任何一台接收并处理即可。  
分布式:任何一个任务(请求)需要节点相互协作共同完成,是可以拆分的。

2.概念
集群:多个人做一件事
分布式:一个任务多人协作
负载均衡:将一系列任务逐项分发给多个人,完成任务的能力增加,而且让大家都还不闲着(提高资源利用率),减少任务等待的时间(降低延迟)。

转载自:CSDN   作者:LinGavinQ

原文链接:https://blog.csdn.net/qq_42893334/article/details/106592183