负载均衡

负载均衡器介绍

由2Cloud提供的负载均衡器可在多台虚拟服务器间实现应用程序流量的自动分配;可实现后端服务器故障自动切换,通过消除单点故障提升应用系统的可用性,并提高资源利用率; 可支持随时添加或删减主机来调整服务能力,而且这些操作不会影响业务的正常访问。


计量计费

操作指南

在本例中,我们假设已经存在一台负载均衡器和两台虚拟服务器,且已完成组网配置。每台主机上都已搭建好 HTTP 的 web server,监听 80 端口。 我们接下来将配置负载均衡器对这2台主机进行负载均衡。


搭建HTTP协议的负载均衡器
新建监听器

进入负载均衡器的详情页面,找到并点击 【新建监听器】 按钮。 如图所示,在弹出的对话框中,监听协议选择 【HTTP】,监听IP选择负载均衡器的对外IP,监听端口选择 【80】,均衡方式选择 【轮询】,点击【确定】。

添加后端虚拟服务器

监听器添加完成之后,我们需要为监听器添加后端服务器。 首先,找到并点击 HTTP 监听器下面的【添加主机】按钮。 如图所示,在弹对话框中,从 【后端服务器】 的下拉菜单选择我们已经配置好的 web server,端口填 【80】, 然后点击【确定】。同理你可以添加另一台虚拟服务器。

注意:在每次完成修改负载均衡器配置之后,都需要点击【应用修改】按钮将修改生。

如下图所示,应用修改完成之后,后端服务器会成功被负载均衡器接管, 然后状态会恢复为【可用】。此时你通过负载均衡器绑定的IP地址(如https://<loadbalancer_eip>/), 就可以正常的访问自己的服务了。


搭建TCP协议的负载均衡器

假设后端虚拟服务器已经支持了 HTTPS 协议,并不需要负载均衡器本身来做 SSL 的卸载,那么我们可以使用 TCP 协议的负载均衡方式。 除此之外,数据库等服务也可以使用 TCP 协议进行负载均衡。

新建监听器

首先,点击进入负载均衡器的详情页面,找到并点击 【新建监听器】 按钮。 如图所示,监听协议选择 【TCP】,监听端口选择【3】,均衡方式选择 【轮询】, 点击【确定】。

添加后端虚拟服务器

从 【后端服务器】 的下拉菜单中选择我们已经配置好的 web server,【端口】 填 【443】, 然后点击【确定】。同理你可以添加另一台虚拟服务器。

同理,如果还有其他 HTTPS 主机,你可以通过类似的操作依次添加, 注意在添加完成之后,不要忘记点击 【应用修改】 使配置生。

自定义转发规则

在我们上面的例子中,负载均衡器的后端都是对等的。如果后端不是对等的, 我们可以通过自定义转发规则来进行更高级的转发控制。目前支持 【按域名转发】 和【按URL转发】 两种规则。

注意:当负载均衡器的监听协议为 HTTP时,都可以支持转发策略配置; 监听协议为 TCP 时,不支持转发策略配置。

为描述方便,我们假设负载均衡器有两个后端,运行着两个不同域名的网站,域名分别为 【example1.com】 和 【example2.com】。 我们现在通过配置转发策略来将不同的域名的流量转发到不同的后端。

创建转发规则

进入负载均衡器列表页面,在转发规则下点击【新建】按钮。如图所示, 规则名称填写【example1】,规则内容为【example2.com】,点击【确定】。

同理,可以添加example2的转发规则。

将转发规则与后端绑定

当为监听器添加域名为 【example1.com】 的后端虚拟服务器时,需要绑定对应的转发规则,即名称为【example1.com】的转发规则,如图:

同理,域名为 "example2.com" 的后端虚拟服务器时,需要绑定名称为"example2"的转发规则。

注意:当同一条转发规则与多个后端进行绑定时,满足策略的请求会根据监听器中配置的 【均衡方式】均衡到多个后端,起到负载均衡的作用。

更新负载均衡器配置

当后端虚拟服务器添加完成之后,我们点击【应用修改】来更新负载均衡器的配置,最后的配置效果如图所示

注意:当某个后端并没有和任何转发规则关联时,表示与后端所在监听器上其他转发规则都无法匹配的流量都会转发到该后端。如果该监听器上没有配置任何转发规则,则所有流量都会转发到该后端。


高可用

在本例中,我们假设已经存在两台负载均衡器,且可以将他们配置为HA模式。

创建高可用

进入负载均衡器详情页面,在高可用配置下点击【配置】按钮,选择作为备机的负载均衡器,点击【确定】。

配置完成之后,就可以看到当前的高可用配置信息,如下图所示:


主备切换

当主机发生故障或者需要进行维护时,可以点击备机操作栏中的【设为主机】按钮,即可完成主备切换。配置完成后,如下图所示,可以看到原有主备机的高可用状态进行了替换。


术语解释

负载方式

轮询:依据后端服务器的权重,将请求轮流发送给后端服务器,常用于短连接服务,例如 HTTP 等服务。

最少连接:优先将请求发给拥有最少连接数的后端服务器,常用于长连接服务,例如数据库连接等服务。

源地址:将请求的源地址进行hash运算,并结合后端的服务器的权重派发请求至某匹配的服务器,这可以使得同一个客户端IP的请求始终被派发至某特定的服务器。该方式适合负载均衡无cookie功能的TCP协议。

会话保持

会话保持可以将来自同一个客户端的请求始终发给同一个后端服务器,是通过 cookie 的方式来实现的。

植入cookie:由负载均衡器向客户端植入 cookie,需要指定 cookie 的过期时间。

改写cookie:cookie 由后端虚拟服务器来植入和管理,负载均衡器会通过改写该 cookie 的值来实现会话保持, 改写 cookie 对后端服务是透明的,不会影响后端服务的正常运行;需要指定需要改写的 cookie 名称。

健康检查

开启健康检测后,负载均衡器会定期检查后端服务的运行状态, 当某个后端服务出现异常时,会自动隔离该后端服务,并将请求转发给其他健康的后端服务,实现高可用性。

后端服务器状态

可用:健康检查正常

不可用:健康检查失败