负载均衡

功能概述

负载均衡:将虚拟IP的访问流量分发到后端服务器上,自动检测并隔离不可用的后端服务器,从而提高业务的服务能力和可用性。

云平台支持两种类型的负载均衡服务:

  • 性能共享型:通过VPC路由器提供负载均衡服务,访问流量经由VPC路由器分发给后端服务器。当VPC路由器上承载多业务运行,负载均衡服务需与其它业务共享VPC路由器性能。
  • 性能独享型:通过负载均衡实例提供负载均衡服务,访问流量经由负载均衡实例分发给后端服务器。负载均衡实例是一个定制的云主机,负载均衡服务独享该实例性能。

最佳实践

  • 一般场景下,建议创建负载均衡器的规格为8C8G。

  • 建议调整负载均衡算法“轮询”为“加权轮询”算法,可以提高业务负载的均衡性。

  • 建议按需调整监听器进程数量(大于1并小于虚拟路由器CPU数量),使用多个进程可提高监听器的性能与监听数据的并发量,但同时可能会占用更多内存,并在一定程度上影响监控数据的准确性。

  • 不使用QoS的场景下建议关闭VPC路由器的TC以提高负载均衡器性能,关闭方法:

    #SSH登录管理节点执行:
    #zstack-cli
    admin >>>LogInByAccount accountName=admin password=XXX  //XXX替换成admin密码
    admin >>>UpdateResourceConfig category=virtualRouter name="tc.for.vipqos" value=XXX  //XXX替换成VPC路由器uuid
    
  • 业务大流量、高并发的场景,建议使用性能独享型负载均衡器或者调高性能共享型负载均衡器的规格,比如32C32G。

  • 如果修改过负载均衡器的规格,建议调整网卡队列数量与CPU数量一致,比如CPU数量是32,调整网卡队列为32,操作方法:

    #SSH登录管理节点执行:
    #zstack-cli
    admin >>>LogInByAccount accountName=admin password=XXX  //XXX替换成admin密码
    admin >>>UpdateResourceConfig category=vm name=nicMultiQueueNum value=32 resourceUuid=XXX  //XXX替换成VPC路由器uuid
    

注意事项

  • 负载均衡监听器:每VPC建议20个以下。
  • HTTP服务负载均衡建议配置源地址哈希,避免http登录多次认证。
  • 会话保持:识别客户端与服务器之间交互过程的关连性,在做负载均衡的同时还保证一系列相关连的访问请求都会分配到一台机器上。开启会话保持后,负载均衡监听会把来自同一客户端的访问请求分发到同一台后端服务器上。TCP协议是基于IP地址的会话保持,即来自同一IP地址的访问请求转发到同一台后端服务器上。
  • SSH登录负载均衡VIP闪退,可以通过将负载均衡的监听器的算法改成源地址哈希、并开启会话保持解决(建议使用后端云主机真实IP登录云主机)。
  • 性能共享型负载均衡通过VPC路由器提供负载均衡服务,访问流量经由VPC路由器分发给后端服务器。当VPC路由器上承载多业务运行,负载均衡服务需与其它业务共享VPC路由器性能。
  • 负载均衡最大并发请求连接数取值范围:[1, 2000000]。
  • 负载均衡连接超时时间默认为60秒。
  • 每个负载均衡器允许创建多个监听器,监听器数量受负载均衡器规格限制,每监听器需要规划200MB以上内存,内存不足可能会导致监听器绑定后端服器组失败。

扩展阅读:

  • 前端网络:

    • 负载均衡的前端网络,负载均衡将来自该网络的客户端请求按照指定策略分发给后端服务器。
    • 性能共享型负载均衡:前端网络支持公有网络、VPC网络两种类型。
    • 性能独享型负载均衡:前端网络支持公有网络、扁平网络、VPC网络三种类型。
  • 后端网络:

    • 负载均衡的后端网络,负责处理负载均衡分发前端请求的后端服务器所在的网络。
    • 性能共享型负载均衡:
      • 若前端网络为公有网络,后端网络可为挂载该公有网络的VPC路由器下的所有VPC网络。
      • 若前端网络为VPC网络,后端网络可为挂载该VPC网络的VPC路由器下的所有VPC网络。
    • 性能独享型负载均衡:
      • 若前端网络为公有网络,后端网络可为扁平网络,或挂载该公有网络的VPC路由器下的所有VPC网络。
      • 若前端网络为扁平网络,后端网络需为同一扁平网络。
      • 若前端网络为VPC网络,后端网络需为同一VPC网络。用户可通过负载均衡实例加载网卡方式,加载更多后端网络(后端网络可为挂载该VPC网络的VPC路由器下的所有VPC网络)。
  • 负载均衡实例:

    • 一个定制的云主机,专用于提供负载均衡服务。
    • 负载均衡实例的默认网卡所在网络为负载均衡前端网络,默认网卡不允许卸载。
    • 除默认网卡外,负载均衡实例加载的其它网卡所在网络均为负载均衡后端网络,若负载均衡仅配置唯一的后端网络,相应网卡不允许卸载。
    • 若使用管理网络,则管理网络的网卡不允许卸载。
  • 性能独享型负载均衡镜像:

    • 封装了高性能实例型负载均衡服务,只能用于创建负载均衡实例,不能直接用于创建业务云主机。
    • 该镜像是官方定制封装的镜像,可直接从官网获取,并添加至云平台。
  • 负载均衡实例规格:

    • 定义负载均衡实例使用的CPU、内存、镜像、管理网络配置,用于创建负载均衡实例,为公有网络/扁平网路/VPC网络提供负载均衡服务。
  • 监听器:

    • 负责监听负载均衡的前端请求,按照指定策略分发给后端服务器,且监听器会对后端服务器进行健康检查。
    • 监听器支持TCP/HTTP/HTTPS/UDP四种协议。
    • 一个负载均衡可绑定多个监听器,一个监听器仅可绑定到一个负载均衡。
    • 若监听器采用加权轮询的负载均衡算法,可在后端服务器组详情页中,对每台后端服务器单独设置权重值。
  • 转发规则:

    • 将来自不同域名或者不同URL的请求转发到不同的后端服务器组处理。
    • 一条转发规则由域名和URL组成。
    • 一个监听器添加的转发规则不可超过40条。
    • 负载均衡支持配置基于域名或URL路径的转发规则,可在监听器下添加多条转发规则并关联不同的后端服务器组。
    • 转发规则支持精确匹配和模糊匹配两种模式,同时匹配多条规则时,优先匹配精确规则。
  • 证书:

    • 当负载均衡监听器使用HTTPS协议,需绑定证书使用。支持上传证书和证书链。
  • 后端服务器组:

    • 一组负责处理负载均衡分发的前端请求的后端服务器。负载均衡实例进行流量分发时,流量分配策略以后端服务器组为单位生效。
    • 一个负载均衡可绑定多个后端服务器组,一个后端服务器组仅可绑定到一个负载均衡。
    • 一个后端服务器组可绑定同一负载均衡下的多个监听器。
    • 创建负载均衡会自动创建一个默认为空的后端服务器组。
  • 后端服务器:

    • 负责处理负载均衡分发的前端请求的服务器。支持添加云主机或云平台之外的服务器作为后端服务器。

results matching ""

    No results matching ""