文章目录
前言:
可伸缩网络服务涉及到几种不同的结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。
LVS原理会贯穿所有负载均衡的服务中,LVS的处理机制主要有:访问请求的唯一入口、根据服务器状态进行调度分配(有调度算法)、对后端所有服务器进行健康检查。
一、企业群集应用概述
1.1 群集的基本概述
-
Cluster,集群,群集
-
由多台主机构成,但对外之表现为一个整体
在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心
-
解决方法
使用价格昂贵的小型机、大型机
使用普通服务器构建服务群集
1.2 企业群集分类
-
根据群集所针对的目标差异,可分为三种类型:
负载均衡群集
高可用群集
高性能群集
高可用群集(高可靠) :两个调度器一主一备 ,两台调度器组合成群集 ,两台调度器可不在同一个地方
高性能运算群集 :拥有不止一个CPU/GPU及所有硬件进行运算(算力)存储、带宽、内存、cpu等可以计算的效能叫做算力,具备以上功能的服务器的集合为运算群集
-
负载均衡群集 (Load Balance Cluster)
以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能
LB的负载分配依赖于主节点的分流算法
-
高可用群集(High Availability Cluster)
以提高应用系统的可靠性、尽可能的减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果
HA的工作方式包括双工和主从两种模式
-
高性能运算群集 (High Performancd Computer Cluster)
以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当大型、超级计算机的高性能运算(HPC)能力
高性能运算群集的高性能依赖于“分布式运算”、“并行计算”,通过专用硬件的软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力
HA :高可用、
双工: 两台服务器/调度器 为平级状态,业务来的时候两台都可以处理(去中心化机制)群集中服务器之间为平级关系
主从 : 两台服务器一个为主、一个为从或多个从。群集中有主、从关系称为中心化机制
去中心化机制案例:redis群集(典型)
高性能运算群集实例:“云” 逻辑意义上分配,类似LVM组成卷组的方式。
1.3 负载均衡群集工作模式分析
-
负载均衡群集是目前企业用得最多的群集类型
-
群集的负载调度技术有三种工作模式
地址转换 ⭐
IP隧道
直接路由 ⭐
1.3.1 NAT模式
-
地址转换 (Network Address Translation)
简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为索引服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式
中间的服务器是网关(作为软件防火墙)
此服务器对内端口作为内网网关、对外端口作为外网网关,所以需要开启路由功能
从内网传输数据到外网时,需要做IP映射(转换) 映射到公网地址。
同时对内服务器进行调度分配、根据请求分配给后两台服务中的一台
出口进口、调度分配、地址转换、路由功能等、均由LVS服务器完成。
当然对于现网环境,会在此服务器对外的口子加上硬件防火墙增强安全,同时增加一台流量清理服务器。
1.3.2 TUN模式
- IP隧道(IP Tunnel)
简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的internet连接,直接回应客户机,而不再经过负载调度器
服务器节点分散在互联网的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信
服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道(VPN)与负载调度器相互通信
VPN实现了两重加密:
① 隧道加密
② 数据加密
VPN在私网和公网都会应用
IP隧道的所有服务器都在公网模式下
1.3.3 DR模式
-
直接路由 (Direct Routing)
简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络
负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道
DR模式存在于私网,所有服务器都使用私有IP
负责调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道
补充:阿里使用的负载均衡调度器是SLB
SLB 包含LVS和Tengine(基于nginx功能开发)
LVS 控制的是四层 (传输层)即可控制IP也可以控制端口
Tengine 控制的7层 (应用层例如HTTP HTTPS)
所以SLB集合控制四层和七层,安全性很高
- 小结:三种工作模式的区别
1.4 负载均衡群集架构
-
负载均衡的结构
第一层,负载调度器 (Load Balancer 或Director)
第二次,服务器池 (Server Pool)
第三次,共享存储 (Share Storage)
-
负载均衡的结构
1.53 关于LVS虚拟服务器
1.5.1 LVS的负载调度算法
-
轮询 (Round Robin)
将受到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器)
均等地对待每一台服务器,而不管服务器实际的连接数和系统负载
-
加权轮询 (Weighted Round Robin)
根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重(人工分配)
保证处理能力强的服务器承担更多的访问流量
-
最少连接 (Least Connections)
根据真实服务器已建立的连接数进行分配