# 一、简介

SLB (Server Loader Balancer)将访问流量根据转发策略分发到后台多台服务器的流量分发控制服务,来实现多台服务器提供相同的业务服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。主要用于为使用HTTP协议的请求提供路由核负载均衡功能。

SLBGateWay的区别

SLB GateWay
核心功能是路由核负载均衡 核心功能是路由
转发目标是一组服务器 转发目标是一个URL
基本不涉及任何业务逻辑 内部包含一些业务逻辑:1)跨域请求处理;2)用户认证与授权;3)请求加密;4)请求协议转换
只做同协议请求转发

SLB软件负载均衡与F5硬件负载均衡的区别

SLB F5
扩展性 支持删除核删除后端服务器,实现无缝伸缩,伸缩过程不用更换任何设备,对相关调用核访问者零影响。 当目前硬件设备达到响应瓶颈时,需要重新购买更高性能设备重新安装,业务中断,步骤繁琐。
安全 免费提供四层DDoS攻击保护,支持应用防火墙,实时抵御网络攻击。 需要额外购买安全防护模块,部署困难,成本较高。

# 二、SLB组成

负载均衡SLB主要由3个基本概念组成:负载均衡器LoadBalancer,监听器Listener,后端服务器BackendServer
【1】负载均衡实例Server Loader Balancer instances:一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。
【2】监听器Listeners:监听器用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。
【3】后端服务器Backend Servers:一组接收前端请求的ECS实例,ECS实例是真正提供服务访问的,后端服务器的数据要一致,对后端服务器的操作系统等配置没有要求,只要求它们的数据是一致的。

负载均衡中的概念/术语
【1】负载均衡服务Server Load Balancer:一种网络负载均衡服务,可以结合云服务提供的ECS服务为用户提供基于ECS实例的TCPUDPHTTP负载均衡服务;
【2】地域Region:代表资源所在并有效的地域,每个地域包含一组数据中心;
【3】可用区Zone:代表负载均衡所在的Zone;
【4】负载均衡实例Load Balancer:负载均衡实例可以理解为负载均衡服务的一个运行实例,用来接收流量并将其分配给后端服务器。用户要使用负载均衡服务,就必须先创建一个负载均衡实例,LoadBalancer是识别用户负载均衡实例的唯一标识;
【5】负载均衡服务监听Listener:负载均衡服务监听,包括监听端口,负载均衡策略和健康检查配置等;
【6】后端服务器BackendServer:接受负载均衡分发请求的一组云服务器,负载均衡服务将外部的访问请求按照用户设定的规则转发到这一组后端服务器上进行处理;
【7】服务地址Address:系统分配的服务地址,当前为IP地址。用户可以选择该服务地址是否对外公开,来分别创建公网和私网类型的负载均衡;

# 三、SLB原理

协议支持:负载均衡基础架构是采用集群部署,提供四层(TCP协议和UDP协议)和七层(HTTPHTTPS协议)的负载均衡,可实现会话同步,以消除服务器单点故障,提升冗余,保证服务的稳定性。
【1】传输层:传输层用端口号区分不同连接,比如 连网站http:默认用TCP80端口;连网站https:443端口;ssh:22端口;
【2】应用层:http,https,ssh,ftp等协议属于应用层协议;

SLB架构:当前提供四层和七层的负载均衡服务。
【1】七层:采用Tengine实现负载均衡;只能选HTTPHTTPS
【2】四层:采用开源软件LVS (Linux Virtual Server) + keepalived的方式实现负载均衡。可以自定义端口;

如果是访问网站,选七层,httphttps都支持,配置简单
如果需要自定义端口,建议用四层,四层麻烦一些;七层只能选HTTPHTTPS协议

转发方式的工作原理
【1】轮询模式:会将外部和内部的访问请求依序分发给后端ECS进行处理;
【2】加权轮询模式:会将外部和内部的访问请求依序分发给后端ECS进行处理,权重越高,被分配的几率越达;
【3】最小连接数:访问请求分发给当前连接数最小的一台后端ECS进行处理;

会话保持:开启会话保持后,负载均衡会把来自同一个客户端的请求分配到同一台后端服务器上,提高访问效率
【1】四层TCP:同一IP地址的请求持续发往同一台后端服务器
【2】七层HTTP:相同cookie的请求发往同一台后端服务器

# 四、常见错误

【1】499 Client Close Request: 客户端超时;
【2】502 Bad GateWay:应用无可用服务器或服务器连接失败;
【3】504 GateWay TimeOut: 应用服务器响应过慢;
【4】NET:ERR_CERT_AUTHORITY_INVALID:未安装证书;
【5】相同URL随机404:未DR部署;

(adsbygoogle = window.adsbygoogle || []).push({});