欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

应用 | 序号00004 | LBC负载均衡集群V1版本 | 项目配置 | 6台服务器组成

最编程 2024-02-08 17:31:10
...


[Applications:LBC负载均衡集群.V1]                                                                 [Applications.LBC&HAC$HPC]









一、LBC-介绍(负载均衡集群介绍)
1、集群拓扑图
2、web负载均衡集群拓扑
### --- web负载均衡集群拓扑

~~~     用户通过互联网访问到了网站,其实不是直接连接到web服务器上,
~~~     若访问到的主机是有web服务集群的,其实访问到负载均衡调度器,
~~~     负载均衡个调度器接收到访问数据通过轮询的方法发给真正的web服务器。
~~~     若还要访问数据库,若是访问量比较少的话,
~~~     可能是单个的数据存储,数据量大的话可能是数据库集群。
~~~     负载均衡服务器还有主备的集群
~~~     此环境包含:负载均衡集群,高可用,存储集群
3、负载均衡结构图(上图拆分出来的一部分)
4、负载调度器(最简单的是轮询)
### --- 负载调度器(最简单的是轮询)

~~~     负载调度器:
~~~     真实服务器池:
5、分类:软件/硬件
### --- LVS:
~~~     最普及的软件负载均衡

### --- Nginx:
~~~     代理负载均衡的功能,企业版的:融合了监控nginx-plagues服务;
~~~     相当于是插件的含义;HAProc:linux 中HA项目中的一个子项目;专门做负载调度器的。
~~~     四层的话没有LVS广;拆成7层的话没有nginx用途广。

### --- F5:硬件:
~~~     半圆球发红光的去定位为F5
6、分类-工作层级
### --- 物理层:
~~~     负责实际的bite流传输,及其特性定义

### --- 数据链路层:
~~~     Mac地址互联,Mac地址编址:交换机在这一层

### --- 网络层:
~~~     安全的编址,路由选择,

### --- 传输层:
~~~     端口 确定传输协议,确定是UDP还是TCP的

### --- 会话层:
~~~     提供给用户识别的部分

### --- 表示层:
~~~     提供给用户识别的部分

### --- 应用层:
~~~     提供给用户识别的部分
### --- 二层:
~~~     数据链路层:实现负载均衡:负载均衡调度器在这一层;典型的代表是F5 ,引入带宽。
~~~     提升性能多买三大运营商的带宽,介入到F5内部,会根据不同的而用户用不同供应商的专线去提供数据。
~~~     F5可以判断数据来源是哪个运营商,而提供最快的方案。

### --- 四层:
~~~     传输层:LVS典型代表,F5也是可以做的。
~~~     在这一层向下的都可以观测到。
~~~     LVS可以根据端口,ip地址来判断它是否需要进行负载调度

### --- 七层:
~~~     应用层:nginx典型代表,向下的6层它可以全部识别,
~~~     可以识别http/域名/主机名进行数据识别分发。
~~~     F5在七层也是可以实现的,可以和F5和LVS来实现负载再来一层nginx。
~~~     常规不需要这样做。实现特定的功能。
二、LBC-原理(负载均衡集群原理)
1、分类-四层工作逻辑
### --- 假设用户地址是公网地址
### --- LVS也假设是公网地址:
~~~     对外暴露的是LVS的地址

### --- Apache为私有地址:
~~~     通过LVS转化过去的公有地址。直接返回数据报文。
~~~     Apache是谁访问我,我给谁数据。
~~~     LVS只是中间做了一个伪装,LVS的压力会非常大。导致宕机。
~~~     只做了地址伪装,没有把数据真实接收数据。
~~~     在Apache压力大的持续叠加Apache服务器的时候,LVS压力是最大的,需要配置高可用。
~~~     LVS数据只是把地址伪装,更换地址信息的更改,没有进行真实的数据数据存储和数据传输。
~~~     没有实际的数据转发。
~~~     进行了一次完整的TCP连接。只把地址伪装后为用户转发数据。
~~~     不涉及到真实的转发
2、分类-七层工作逻辑
### --- 用户会发送一个数据报文到nginx负载调度器。

### --- 源地址是用户访问地址;
~~~     源端口依赖nginx随机端口,借助nginx的规则库。分发给Apache服务器,
~~~     会根据当前的算法,想后端服务器去要数据,
~~~     Apache会接收到nginx的请求,返回给nginx服务器。两个不同的tcp文件。
~~~     源变为负载均衡服务器;直接不会告诉Apache不是客户要的数据,
~~~     而是我要的。nginx收到数据后,把数据重新封装后反馈给用户。
~~~     这里进行了两次不同的完整的TCP连接以及访问。
~~~     对nginx的压力最大。所有的数据都会进行过重新封装分发。
~~~     nginx是轻量级的,但在负载均衡上来说,压力是比较大的。
~~~     涉及到数据的真实转发
3、分类-访问量:LVS是nginx代理的上百倍,
三、适用场景
### --- LVS:
~~~     B/S C/S 可以代理任何TCP/UDP    TCP里面还有http协议,这就是BS结构,  mysql是C/S结构,

### --- NGINX:C/S:
~~~     只能代理/C/S结构,只能识别到http协议;
~~~     标准版本,识别协议,端口,主机名,IP都是可以识别到的。
~~~     nginx的负载均衡压力会很大,在有些场景下还是需要nginx来做负载,
~~~     在特定需要直接进行数据转发会使用。








===============================END===============================



Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor




来自为知笔记(Wiz)


原文地址:https://www.cnblogs.com/yanqivip/p/16039664.html