产品特性
启用公网访问
BLB实例支持启用/不启用公网访问:
- 如不启用公网访问,则默认提供内网IP来进行内网流量的均衡服务;
- 如启用,则为您购买并绑定公网IP来实现对公网访问流量的均衡服务。
转发规则
BLB支持加权轮询和最小连接数、源IP三种转发规则。
- 加权轮询:将外部请求按照加权的比例依序转发到后端云服务器上;
- 最小连接数:依照后端云服务器当前的连接数将新的请求转发到连接数最少的云服务器上;
- 源IP:将请求的源IP进行hash运算后派发请求至某匹配的服务器,这可以保证同一个客户端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支持会话保持功能,可以将来自同一个用户的请求始终转发给后端的同一台服务器实例。
- 对于4层监听器(TCP、UDP协议),用户可以通过设置监听器的转发规则为源IP转发规则(来自同一个客户端IP的请求始终转发给同一台后端服务器)来实现会话保持。
-
对于7层监听器(HTTP、HTTPS协议),BLB支持两种会话保持方式:
- 植入Cookie:推荐使用,负载均衡服务会在用户的请求中插入标识后端服务器地址的cookie项。
- 重写Cookie:负载均衡服务会改写指定的cookie项来标识后端服务器地址。
健康检查
BLB主动检查后端服务器的运行状况,当探测到后端服务器工作异常时,自动摒弃该实例;当异常服务器恢复正常时,自动将其加入到负载均衡后端服务器列表,继续提供服务。判断后端服务器是否健康的方法有TCP请求检查和HTTP请求检查。
- TCP/SSL监听器向服务监听配置的后端服务器端口发起TCP请求。如果端口访问正常则视为后端服务器正常,否则即为异常。
- UDP监听器向服务器监听配置的后端服务器端口发送UDP包。如果后端接收请求并返回UDP包则视为后端服务器正常,否则即为异常。
- HTTP/HTTPS监听器向服务监听配置的后端服务器端口发起HTTP GET请求,如果返回2xx或3xx则判断 后端云服务器运行正常,否则即为异常。
注意: 你可以设置健康检查的正常状态码,默认返回2xx和3xx即为正常。
针对健康检查BLB提供了建议参数如下:
- 响应超时时间: 3s
- 健康检查间隔: 3s
- 不健康阈值: 3次
- 健康阈值: 3次
数据实时监控
BLB提供给您负载均衡实例和后端服务器实时的一些状态信息,帮助用户了解服务的工作情况,包括:
- 正常实例个数
- 异常实例个数
- 流入流量
- 流出流量
- 活跃连接数
- 流入数据包数
- 流出数据包数
- 请求数(只有7层提供)
此外,BLB提供短信和邮件报警服务,当数据不满足用户设定值时,能够及时对用户进行提醒。