1概述
负载均衡技术通过流量分发,提高业务处理能力,保证业务的高可靠性。技术分类包括:
- 服务器负载均衡(SLB):将流量分配至多台服务器,提高并发处理能力与可靠性。
- 链路负载均衡:动态选择合适链路转发流量,提升链路利用率和访问质量,包括:
- 出方向链路负载均衡:分担内网用户访问外部互联网的流量。
- DNS透明代理:对DNS请求进行透明代理,选择最优出口链路。
- 入方向链路负载均衡:分担外网用户访问内网服务器的流量(本地智能DNS)。
- 全局服务器负载均衡(GSLB):根据用户位置、网络状况等选择最优数据中心,实现跨地域业务流量的分配与调度(全局智能DNS)。
技术优势包括高性能、可扩展性、高可靠性、可管理性和透明性。
2负载均衡技术实现
2.1服务器负载均衡技术实现
- 技术简介:将用户流量分配至多台服务器,提高资源利用率和访问体验。
- 工作流程:客户端请求 -> SLB设备调度 -> 实服务器处理 -> SLB设备转发响应。
- 业务层级:
- 四层SLB:工作在网络层和传输层,基于IP地址和端口号进行负载分配,适用于高并发、大流量场景。
- 七层SLB:基于应用层报文内容进行流量分发,支持多种应用层协议,适用于需要结合业务逻辑或用户信息进行精确化流量调度的场景。
- 部署模式:
- 网关模式:SLB设备串连部署,改变网络拓扑,适用于简单场景。
- 旁路模式:SLB设备旁挂部署,不改变网络拓扑,部署灵活。
- 三角传输模式:SLB设备旁挂部署,回程流量不经过SLB设备,适用于视频等业务流量较大的场景。
- 高可靠性:支持主备、双主和集群几种工作模式,避免单点故障,保证业务连续性。
2.2出方向链路负载均衡技术实现
- 技术简介:将内网用户访问互联网的流量智能分配到多条链路上,实现高效的资源利用,提升用户访问体验。
- 工作流程:负载均衡设备接收流量 -> 选择最佳链路 -> 转发流量 -> 接收应答流量 -> 转发应答流量。
- 涉及关键概念:虚服务器(LINK-IP类型)、链路、链路组。
2.3DNS透明代理技术实现
- 技术简介:解决DNS请求报文发往不同运营商网络内导致的流量分配不均问题。
- 工作流程:LB设备动态改写DNS请求的目的IP地址,将DNS查询请求分发到不同的DNS服务器,使解析结果指向对应链路的外网服务器IP地址,从而控制业务流量的转发链路。
- 设备上的业务处理流程:涉及DNS透明代理、链路、DNS服务器、DNS服务器池、负载均衡类、负载均衡动作、负载均衡策略等概念,通过修改DNS请求报文的目的地址,实现对多条链路上的访问流量进行控制。
2.4入链路负载均衡技术实现
- 技术简介:使外网用户能够经由不同的链路访问企业服务,提高访问的效率与可靠性。
- 工作流程:负载均衡设备作为权威DNS服务器,对外网用户访问内网服务器的DNS请求报文进行智能解析,为外网用户选择最佳入方向链路。
- 设备上的业务处理流程:涉及DNS监听器、DNS映射、虚服务器池、链路、虚服务器等概念,通过智能DNS解析选择最优入链路,并返回该链路对应的虚服务器IP地址,从而引导用户流量通过指定链路进入网络。
2.5全局服务器负载均衡技术实现
- 技术简介:实现用户的访问流量在多个数据中心之间的智能调配,使用户接入最优的数据中心,提升用户访问体验,也可在多个数据中心之间进行远程灾备。
- 工作流程:Host向Local DNS发送DNS请求 -> Local DNS向GSLB设备发起DNS请求 -> GSLB设备进行智能解析 -> GSLB设备将解析结果返回给Local DNS -> Local DNS将解析结果返回给Host -> Host向虚服务器发起访问 -> SLB设备选择最优实服务器响应用户请求。
- 部署模式:集中部署和分布部署两种模式,可根据实际需求选择合适的部署方式。
3负载均衡关键技术
3.1调度算法
- 核心机制:按照预先设定的规则,将用户请求在多个可用资源之间进行合理分配。
- 分类:
- 基础与静态调度算法:以简单、确定的规则进行调度,无需感知业务系统实时状态,包括随机算法、加权轮转算法、哈希算法(源IP地址哈希算法、源IP地址+端口哈希算法、目的IP地址哈希算法、HTTP载荷哈希算法、CARP哈希算法)、首个可用算法。
- 动态与状态感知调度算法:能感知服务器或链路的实时状态,进行更精细、自适应的调度,包括加权最小连接算法、动态反馈算法、最快响应算法、链路质量算法、就近性算法。
- 面向流量与带宽的调度算法:专注于网络流量模型和带宽利用率,适用于大流量、视频、下载等对带宽敏感的场景,包括带宽算法、最大带宽算法、流量观察算法、流预测量算法。
3.2健康检测
- 功能:对服务器或链路进行检测,保证其能够提供有效的服务。
- 原理:负载均衡设备主动向服务器或链路发送探测报文,实时探测状态,当探测到故障时,立即停止向其分配流量,并将流量调度给其他处于正常状态的服务器或链路。
- 类型:
- 服务器健康检测:探测服务器状态,保证其能够提供有效的服务。
- 链路健康检测:探测链路和DNS服务器状态,避免将流量分配给故障的链路和DNS服务器,导致服务中断。
3.3负载均衡策略
- 作用:决定如何分配客户端的请求流量。
- 组成:将负载均衡类和负载均衡动作关联起来就构成了负载均衡策略。
- 匹配规则:管理员可以在一个负载均衡策略中指定多条匹配规则,设备会按照配置顺序进行匹配,匹配方式包括匹配任意一条规则和匹配所有规则。
- 负载均衡动作:对于规则匹配成功的报文,设备会为其执行指定的负载均衡动作,动作分为转发类动作、修改类动作和代答类动作。
- 会话保持:根据某会话保持方法将具有一定相关性的会话都分配给同一服务器处理,减少调度算法的重复运算,提升转发效率。