概述

最近更新时间:2018-01-22 10:40:23

概述

负载均衡(Server Load Balancing,简称SLB)是对云物理主机进行流量分发的网络服务设备。它可以通过流量分发,快速提高应用系统对外的服务能力;隐藏实际服务端口,增强内部系统的安全性;通过消除服务单点故障,提升应用系统的可靠性。

负载均衡服务通过设置虚拟服务地址(VIP),将位于同一地域的多台云物理主机资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到物理服务器池中。

负载均衡服务会检查云物理主机池中云物理主机实例的健康状态,自动隔离异常状态的实例,从而解决了云物理主机的单点问题,同时提高了应用的整体服务能力。

关键特性

1.高性能。分布式集群满足大规模业务分发的性能要求
2.高稳定性。冗余设计,无单点故障;后端服务器可以随业务量方便的扩展
3.低成本。使用金山云的负载均衡实例,可以快速低成本搭建业务;对于内网负载均衡产品,目前实行免费创建实例并分配IP地址
4.安全。免费的 5G DDoS攻击防御功能,无延时动态启动

使用场景

  • 横向扩展应用系统服务能力,适用于各种 web server 和 app server
  • 消除应用系统单点故障,当其中一部分物理服务器宕机后,应用系统仍能正常工作

协议支持

典型的 Web 应用程序之间的通信需要经由网络的各个分层,每层都会提供特定的通信功能。依据开放式系统互联(Open System Interconnect,OSI)网络模型,各个分层中都有标准的通信格式。金山云负载均衡涉及网络模型中的 四层(传输层) 和 七层(应用层)。

金山云负载均衡支持以下协议的请求转发:

  • HTTP(应用层)
  • HTTPS(应用层)
  • TCP(传输层)

1.四层协议

如果使用四层协议转发,负载均衡实例会直接将请求转发到后端实例,而不修改任何数据包。负载均衡收到请求之后,会尝试在监听器配置中指定的端口上打开与后端实例的 TCP 连接。

2.七层协议

如果前端和后端连接均使用七层协议转发,负载均衡器会解析请求中有意义的应用层内容,并根据其内容选择后端物理服务器。因此,七层负载均衡器需要先代理后端服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

均衡方式

均衡方式是指金山云负载均衡向后端物理服务器分配流量的算法:

1.加权轮询算法

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

2.加权最小连接数算法

一种动态调度算法,它通过服务器当前活跃的连接数来估计服务器的负载情况。调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加一;当连接中止或超时,其连接数减一。同时根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。

健康检查

金山云负载均衡实例定期向后端物理主机发送 ping、尝试连接或发送请求来测试后端物理主机运行的状况。

当后端物理主机实例被判定为不健康时,负载均衡实例将不会把请求转发到该实例上,但健康检查会对所有后端物理主机(不管是判定为健康的还是不健康的)进行,当不健康实例恢复正常状态时,负载均衡实例将恢复把新的请求转发给它。

1.四层协议

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

  • 健康检查:开启
  • 检查间隔: 2-300 秒,默认为5s
  • 健康阀值:2-10 次,默认为5次(不健康后端物理机出现此指定次数响应超时后,视为健康)
  • 不健康阀值:2-10 次,默认为4次 (健康后端物理机出现此指定次数响应超时后,视为不健康)

2.七层协议

由负载均衡器向后端物理机发送 HTTP 请求来检测后端服务,负载均衡器会通过 HTTP 返回值是否为预设的值来判断服务是否正常。

  • 健康检查:开启
  • 检查间隔: 2-300 秒,默认为5s
  • 健康阀值:2-10 次,默认为5次(不健康后端物理机出现此指定次数响应超时后,视为健康)
  • 不健康阀值:2-10 次,默认为4次 (健康后端物理机出现此指定次数响应超时后,视为不健康)

会话保持

可使得来自同一 IP 请求被转发到同一台后端物理机上;

1.四层协议

四层转发支持简单会话保持能力,可以设置会话保持的时间,超过该时间阀值,会话中无新请求则断开连接。

2.七层协议

HTTP/HTTPS 监听可使用植入 cookie 和重写 cookie 来进行会话保持。

Client IP 获取

  • 4层负载均衡后端服务自动获取真实客户端IP
  • 7层负载均衡支持通过HTTP Header X-forwarded-for 获取真实客户端IP

金山云,开启您的云计算之旅

免费注册