产品特性
启用公网访问
BLB实例支持启用公网访问:
- 内网负载均衡模式:关闭公网访问(默认),通过自动分配的内网IP地址,实现私有网络流量负载。该模式适用于内网各系统间的业务交互,如微服务架构下的内部API调用、数据库集群访问等场景。
- 公网访问模式:开启公网访问,系统自动实现公网IP的购买、绑定及安全防护配置。通过绑定弹性公网IP资源,构建面向互联网应用的流量负载均衡系统。该模式适用于Web门户、移动应用后台、电商平台等需要公网暴露的业务场景。
转发规则
BLB支持加权轮询和加权最小连接数、源IP三种转发规则。
- 加权轮询:基于预设的服务器权重比例进行流量分配,将入站请求按照权重值序列依次分发至后端服务器。该算法适用于服务器硬件配置存在差异的场景,可通过权重设置实现性能最优化的负载分配。
- 加权最小连接数:调度算法结合预设权重与实时连接数状态,自动将新请求导向当前活跃连接数最少的后端服务器。此策略能够动态平衡各节点的会话负载压力,特别适用于处理长连接较多的业务场景。
- 源IP:采用一致性哈希算法对客户端源IP地址进行哈希运算,生成固定映射关系将同一源IP的请求持久化分配到指定后端服务器。该策略有效保证会话连续性,适用于需要保持客户端与服务端会话状态的应用场景。
监听器类型
BLB支持4层(TCP、UDP、SSL协议)和7层(HTTP、HTTPS协议)四种监听器类型。BLB的4/7层负载均衡是在对后台的服务器进行负载均衡时,依据4层的信息或7层的信息来决定怎样转发流量。
TCP监听器负责监听发送至服务地址和监听端口的TCP连接。监听器根据转发规则挑选一台健康的后端服务器建立TCP连接,并对流量进行NAT处理。在这个过程中会有客户到监听器和监听器到后端服务器的两个TCP连接,后续该TCP连接的所有流量都会转发到同一台后端服务器。
HTTP监听器是在4层协议的基础上增加应用层的特征,以HTTP请求为粒度进行转发。在这个过程中会有多个TCP连接:客户到监听器的一个连接和监听器到每个健康后端服务器的连接。通过这样的方式,HTTP监听器确保每个HTTP请求能够转发至相应的后端服务器。
获取访问者的真实IP
- TCP/UDP监听器类型的后端服务器可以直接获得访问者真实IP,不需要单独设置。
- SSL监听器目前不支持获取真实IP。
-
HTTP/HTTPS监听器默认开启“获取真实IP”功能。开启“获取真实IP”功能后,BLB会在每个请求的Header里植入“X-Forwarded-For”字段来标识真实IP地址。
注意: 当client端发送过来的http请求,不存在X-Forwarded-For请求头时,BLB侧会添加一行X-Forwarded-For: client_ip的请求头;当client端发送过来的http请求,已有X-Forwarded-For 请求头时,BLB侧会将client_ip追加在X-Forwarded-For请求头的末尾。
会话保持
BLB负载均衡服务提供会话保持机制,确保客户端请求在会话周期内持续转发至同一后端服务器实例。该功能根据网络协议层次差异提供以下实现方案:
- 四层监听器会话保持(TCP、UDP、SSL协议),用户可以通过设置监听器的转发规则为源IP转发规则(来自同一个客户端IP的请求始终转发给同一台后端服务器)来实现会话保持。
-
七层监听器会话保持(HTTP、HTTPS协议),提供两种Cookie管理方案实现会话绑定:
- 主动植入Cookie(推荐方案):通过在用户的请求中插入标识后端服务器地址的cookie项实现会话保持。
- 定制Cookie改写:通过识别并改写指定名称的客户端Cookie来标识后端服务器地址实现会话保持。
健康检查
BLB支持主动检查后端服务器的运行状况,当探测到后端服务器工作异常时,会自动从内部转发列表中摒弃该实例;当异常服务器恢复正常时,会自动将其加入到内部转发列表,继续提供服务。健康检查分别支持TCP、HTTP、UDP、ICMP四种探测协议。
-
TCP/SSL监听器支持TCP协议的健康检查。
- 健康检查协议配置为TCP时,如果后端服务器端口访问正常则视为后端服务器正常,否则即为异常。
-
UDP监听器支持UDP、ICMP两种健康检查协议。
- 健康检查协议配置为UDP时,实例根据配置向后端服务器发送特定字符,如果后端接收请求并返回UDP包则视为后端服务器正常,否则即为异常。
- 健康检查协议配置为ICMP时,实例根据配置向后端服务器发送 ICMP报文,如果云服务器正常且网络可达则视为正常,否则即为异常。
-
HTTP/HTTPS监听器支持HTTP、TCP两种健康检查协议。
- 健康检查协议配置为HTTP时,实例根据配置向后端服务器端口发起HTTP GET请求,如果返回2xx或3xx则判断 后端服务器运行正常,否则即为异常。
- 健康检查协议配置为TCP时,如果后端服务器端口访问正常则视为后端服务器正常,否则即为异常。
注意: 可以设置HTTP健康检查的正常状态码,默认返回2xx和3xx即为正常。
针对健康检查BLB提供了建议参数如下:
- 响应超时时间: 3s
- 健康检查间隔: 3s
- 不健康阈值: 3次
- 健康阈值: 3次
数据实时监控
BLB提供给您负载均衡实例和后端服务器实时的一些状态信息,帮助用户了解服务的工作情况,包括:
-
实例监控:
- 活跃连接数
- 出入向流量
- 出入向数据包数量
- 出入向带宽
- 新建连接数使用率
- 并发连接数使用率
- 出入向流量使用率
-
端口监控
- 健康检查
- 网络流量
- 网络数据包
- 并发连接数
- 新建连接数
- 出入向带宽
- 流入数据包数
- 流出数据包数
- 限速流量
- 限速数据包
- 丢弃流量
- 丢弃数据包
- 丢弃连接数
- 请求数 (仅7层监听提供)
- 每秒查询数 (仅7层监听提供)
- 响应时间 (仅7层监听提供)
- 响应状态码 (仅7层监听提供)
- 响应状态比例 (仅7层监听提供)
- 后端服务器响应状态码(仅7层监听提供)
- 后端服务器响应时间 (仅7层监听提供)
此外,BLB提供短信和邮件报警服务,当数据不满足用户设定值时,能够及时对用户进行提醒。