API 文档

关键特性

最近更新时间:2020-02-11 16:42:26

协议支持

黑石负载均衡由其监听器提供服务,监听器负责监听负实例请求,执行策略分发流量至后端服务器;监听器分为四层监听器和七层监听器,其中四层为传输层协议,通过 VIP+ 端口接受请求并分配流量到后端服务器;七层为应用层协议,通过 URL、HTTP 头部等应用层信息进行流量分发。

四层监听器

支持 TCP 和 UDP 协议,如果使用 TCP/UDP 协议转发,负载均衡实例会直接将请求转发到后端实例,而不修改任何数据包。

七层监听器

支持 HTTP 和 HTTPS 协议,七层监听器首先代理后端服务器和客户端建立连接(三次握手),其次接收客户端发送的真正应用层内容报文,再而根据该报文中特定字段,加上设置的服务器选择方式,最后决定后端转发服务器。

负载均衡算法

负载均衡算法是指黑石负载均衡向后端服务器分配流量的算法。

四层协议

按权重轮询,以轮询方式依次将请求调度到不同服务器,用权值表示服务器的处理性能,按权值的高低和轮询方式分配请求,权值越高越优先,会处理更多的服务器请求,相同权值的服务器处理相同数目的连接数。

七层协议

支持按权重轮询和 IP HASH,IP HASH 方式根据请求的源 IP 地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,请将请求发送到该服务器,否则返回空。

健康检查

黑石负载均衡实例定期向后端服务器发送 ping、尝试连接或发送请求来测试后端服务器运行的状况。
当后端服务器实例被判定为不健康时,负载均衡实例将不会把请求转发到该实例上,但健康检查会对所有后端服务器(不管是判定为健康的还是不健康的)进行,当不健康实例恢复正常状态时,负载均衡实例将恢复把新的请求转发给它。

四层协议检查方式

由负载均衡向配置中指定的服务器端口发起访问请求,如果端口访问正常则视为后端服务器运行正常,否则视为后端服务器运行异常;对于 TCP 业务,使用 SYN 包进行探测;对于 UDP 业务,使用 ping 进行检查。

  • 响应超时时间: 2秒-60秒
  • 检查间隔:5秒-300秒
  • 不健康阈值:2-10次(健康后端服务器出现此指定次数响应超时后,视为不健康)
  • 健康阈值:2-10次(不健康后端服务器出现此指定次数响应不超时后,视为健康)

七层协议检查方式

由负载均衡向后端服务器发送 HTTP 请求来检测后端服务,负载均衡器会通过 HTTP 返回值是否为用户设定的 http_xxx 来判断服务是否正常;用户可以根据业务需要设定 http_1xx 及 http_2xx 为服务正常状态,而 http_3xx 至 http_5xx 返回值为异常状态。

  • 响应超时时间暂不能设置,默认响应超时时间为3秒
  • 检查间隔 5秒-300秒,默认为5秒
  • 不健康阈值:2-10次,默认为3次 (健康后端服务器出现此指定次数响应超时后,视为不健康)
  • 健康阈值:2-10次,默认为3次(不健康后端服务器出现此指定次数响应不超时后,视为健康)
    注意:

    健康检查底层实现方式为使用100.64.0.0/10这个内网网段中 IP 对后端服务器进行健康探测,因此后端服务器需要放通100.64.0.0/10网段。

会话保持

可使得来自同一 IP 的请求被转发到同一台后端服务器上。

四层协议

四层转发支持基于源地址的会话保持,会话保持时间可设为30秒-3600秒中的任意整数值,默认为900秒,超过该时间阈值,会话保持失效。

七层协议

七层转发支持基于 cookie 插入会话保持能力(由负载均衡向客户端植入 cookie),会话保持可选时间为30秒-3600秒,默认为900秒。

Client IP 获取

四层协议

  • 公网普通型/内网 LB:客户端 IP 地址获取,对于 TCP 协议并且后端服务器为 Linux 时,通过在后端服务器安装 TOA 模块获取,黑石 LB 侧默认关闭。
  • 公网增强型 LB:对于 TCP/UDP 协议并且后端服务器为 Linux/Windows 时,客户端 IP 地址都可以获取。

七层协议

客户端 IP 地址获取,通过 X-Forwarded-For 方式获取,黑石 LB 侧默认开启。

目录