负载均衡

负载均衡(LB):将公网地址的访问流量分发到一组后端的云主机, 并支持自动检测并隔离不可用的云主机,从而提高业务的服务能力和可用性。
  • 负载均衡自动把访问用户应用的流量分发到预先设置的多个后端云主机,以提供高并发高可靠的访问服务。
  • 根据实际情况,动态调整负载均衡监听器中的云主机来调整服务能力,且不会影响业务的正常访问。
  • 负载均衡监听器支持TCP/HTTP/HTTPS三种协议。
  • 当监听协议为HTTPS,需绑定证书使用,支持上传证书和证书链。
  • 负载均衡器支持灵活配置多种转发策略,实现高级转发控制功能。
Figure 1所示,云路由网络/VPC下虚拟IP提供负载均衡服务。
Figure 1. 虚拟IP-负载均衡


负载均衡的使用方法

负载均衡的基本使用流程:
  1. 创建负载均衡器。
  2. 创建并添加监听器,指定公网端口到云主机端口的对应关系,设置规则及算法等。
  3. 选择指定三层网络的云主机网卡绑定到监听器,使负载均衡器生效。

创建负载均衡器

ZStack私有云主菜单,点击网络服务 > 负载均衡 > 负载均衡器,进入负载均衡器界面,点击创建负载均衡器,在弹出的创建负载均衡器界面,可参考以下示例输入相应内容:
  • 名称:设置负载均衡器名称
  • 简介:可选项,可留空不填
  • 选择虚拟IP:通过虚拟IP提供负载均衡服务
    使用虚拟IP的方法有以下两种:
    • 新建虚拟IP
      如选择新建虚拟IP,需设置以下内容:
      • 网络:选择提供虚拟IP的公有网络
      • 指定IP:可选项,可指定虚拟IP;若留空不填,系统会自动分配虚拟IP
      Figure 2所示:
      Figure 2. 新建虚拟IP


    • 已有虚拟IP
      如选择已有虚拟IP,需设置以下内容:
      • 虚拟IP:选择已有的虚拟IP地址
      Figure 3所示:
      Figure 3. 已有虚拟IP


    Note: 云路由器/VPC路由器提供的系统虚拟IP支持用于负载均衡服务。
  • 监听器:可选项,可在创建负载均衡器时直接创建并添加监听器,也可在创建负载均衡器后再创建并添加监听器
Figure 4所示:
Figure 4. 创建负载均衡器


创建监听器

以创建负载均衡器过程中直接创建并添加监听器为例。

创建负载均衡器界面,点击监听器下方的创建监听器,弹出创建监听器界面,可参考以下示例输入相应内容:
  • 名称:设置监听器名称
  • 简介:可选项,可留空不填
  • 协议:选择协议类型,包括:TCP、HTTP、HTTPS
    • 如选择TCP/HTTP:支持1-65535端口
    • 如选择HTTPS:
      • 支持1-65535端口
      • 需绑定证书使用,支持上传证书和证书链,如何上传及管理证书可参考证书章节。
      • 证书为可选项,可在创建监听器时直接绑定证书,也可在创建监听器后再绑定证书。
      • Figure 5所示:
        Figure 5. HTTPS 需绑定证书


  • 负载均衡端口:可从1-65535端口之间选择一个端口作为负载均衡器公网端口
  • 云主机端口:可从1-65535端口之间选择一个端口作为云主机端口

    例如:公网端口选择80,云主机端口选择5000,表示对负载均衡器公网IP的80端口访问会转发到云主机的5000端口。

    Figure 6所示:
    Figure 6. 创建监听器


  • 高级:可对高级选项进行设置
    • 空闲连接超时:没有数据传输时,触发负载均衡器终止服务器和客户端连接的超时时间,默认设置为60秒
    • 健康检查阈值:对不健康的云主机,如果连续检查成功次数超过阈值,则认定其健康,默认设置为2次
    • 非健康检查阈值:对云主机健康检查失败次数超过阈值,则认定其不健康,默认设置为2次
    • 健康检查间隔:对云主机进行检查的时间间隔,默认设置为5秒
    • 最大连接数量:设置监听器最大的连接数量,默认设置为5000条
    • 负载均衡算法:对网络包设定不同的路由规则,默认设置为roundrobin(轮询)
      支持的负载均衡算法包括:
      • roundrobin(轮询)

        通过轮询调度算法,将外部请求按顺序轮流分配到负载均衡规则指定的云主机中,它均等地对待每一台云主机,而不管其上实际的连接数和系统负载。

      • leastconn(最少连接)

        通过最少连接调度算法,将网络请求动态地调度到已建立的连接数最少的云主机上。 如果集群中的服务器(云主机)具有相近的系统性能,采用最少连接调度算法可以较好地均衡负载。

      • source(源地址哈希)

        源地址哈希算法,根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器可用且未超载,将请求发送到该服务器,否则返回空。

    Figure 7所示:
    Figure 7. 创建监听器-高级选项


绑定云主机网卡到监听器

ZStack私有云主菜单,点击网络服务 > 负载均衡 > 监听器,进入监听器界面,选中已创建的监听器,点击更多操作 > 绑定云主机网卡,将弹出绑定云主机网卡界面,可参考以下示例输入相应内容:
  • 网络:选择云路由挂载的三层私有网络
  • 云主机网卡:选择VM-1、VM-2、VM-3的云主机网卡
Figure 8所示,点击确定,绑定云主机网卡到监听器。
Figure 8. 绑定云主机网卡到监听器


负载均衡器将基于指定转发策略向三台云主机发送信息。

负载均衡支持的操作

负载均衡器支持以下操作:
  • 修改名称和简介:修改负载均衡器的名称和简介。
  • 创建监听器:创建一个新的监听器。
  • 删除:删除负载均衡器,将自动删除所有的监听器和相关负载均衡服务。相应的虚拟IP以及其上绑定的其它服务不受影响。
  • 审计:查看此负载均衡器的相关操作。
监听器支持以下操作:
  • 修改名称和简介:修改监听器的名称和简介。
  • 绑定云主机网卡:绑定云主机网卡到负载均衡器的某个监听器,使云主机成为监听器规则的一个负载均衡资源。
  • 解绑云主机网卡:从监听器上解绑云主机网卡,将其从负载均衡池中移除。
  • 绑定证书:当监听协议为HTTPS,需绑定证书使用,绑定一个证书或证书链到监听器。当监听协议为TCP/HTTP,该按钮禁用。
  • 解绑证书:当监听协议为HTTPS,从监听器上解绑证书。当监听协议为TCP/HTTP,该按钮禁用。
  • 删除:删除监听器,将自动删除其提供的负载均衡服务。
  • 审计:查看此监听器的相关操作。

负载均衡的约束条件

负载均衡有以下约束条件:
  • 一个负载均衡器可以支持多个监听器。
  • 一个负载均衡器支持的监听器指定的云主机网卡必须在同一个三层网络。
  • 当监听协议为HTTPS,一个监听器同一时间只能绑定一个证书,如需更换证书,需先解绑当前证书。
  • ZStack支持内部访问业务流量的负载均衡。如果内部用户希望通过虚拟IP访问负载均衡,需进行如下设置:

    进入设置 > 全局设置 > 高级设置,将三层网络安全默认规则设置为accept,且重连云路由器生效。