使用负载平衡器提高容量和可用性

上一次修改主题: 2009-01-22

一台运行 Communicator Web Access(2007 R2 发行版)的服务器可以处理大约 5,000 个同时连接。如果需要支持超出此数量的用户,则需要多台 Communicator Web Access 服务器。如果需要多台 Communicator Web Access 服务器,可能要部署硬件负载平衡器,从而有助于确保工作负荷在这些服务器之间均匀分配。

Dd441196.note(zh-cn,office.13).gif注意:
使用服务器阵列和负载平衡器不仅可以提高 Communicator Web Access 基础结构的整体能力,而且可以提高 Communicator Web Access 的可靠性和可用性。如果一台服务器发生故障,负载平衡器可自动将传入连接请求路由到仍在正常运行的服务器。

Communicator Web Access 要求会话关联,这一要求会对负载平衡产生直接影响。会话关联意味着给定的 Communicator Web Access 会话必须在同一台服务器上进行。Communicator Web Access 不允许即时消息会话在某一台服务器上开始,但随后又以某种方式转移到另一台服务器。如果用户在 Communicator Web Access 会话开始时登录到服务器 A,则用户在该会话的持续时间内将继续使用服务器 A。如果服务器 A 出现故障,则用户的会话将终止。(该用户接着可以再次登录,负载平衡器会将该用户路由到仍在运行的服务器。)但是,服务器 A 出现故障时,连接到服务器 B 或服务器 C 的用户的会话绝不会中断。

出于这个原因,您必须在 Communicator Web Access 中使用硬件负载平衡。软件负载平衡也可在服务器之间均匀分配连接请求。但是,如果服务器 A 发生故障,则软件负载平衡器将重新分配所有客户端连接,包括服务器 B 和服务器 C 的客户端。因此,不仅服务器 A 上的用户会失去连接,而且服务器 B 和服务器 C 上的很多用户也将失去连接。

Dd441196.note(zh-cn,office.13).gif注意:
如前所述,Communicator Web Access 不支持软件负载平衡。此外,对于涉及多宿主网络适配器或配备有多个网络适配器和多个默认网关的计算机的任何负载平衡方案,Communicator Web Access 均不支持。

Communicator Web Access 支持大多数硬件负载平衡器,前提是该负载平衡器满足以下条件:

  • 允许用户将 TCP 空闲超时设置为 1,800 秒(30 分钟)。TCP 空闲超时表示服务器在会话过程中等待信息的时间。如果使用了反向代理服务器(例如 Microsoft Internet Security and Acceleration Server),则还应将该计算机的 TCP 空闲超时设置为 1,800 秒。
  • 如果需要处理 65,000 个以上的同时连接,可以使用源网络地址转换 (SNAT) 池。SNAT 可将多台服务器“隐藏”在单个 IP 地址后(也就是说,可以仅使用一个 IP 地址访问多台服务器)。使用 SNAT 池,服务器可以隐藏在多个 IP 地址后。
  • 允许在配置会话关联时使用 Cookie 持久性。使用 Cookie 持久性,有关用于会话的实际 Communicator Web Access 服务器的信息将存储在客户端计算机上的 Internet Cookie 中。配置负载平衡器的会话持久性配置文件时,建议使用“HTTP Cookie 插入”。使用此配置方法,关于客户端所连接的服务器的信息将以 Cookie 的形式,插入服务器的 HTTP 响应的标头中。

Communicator Web Access 还支持负载平衡器上的安全套接字层 (SSL) 加速。使用 SSL 加速,负载平衡器在将未加密流量发送到 Communicator Web Access 服务器之前会解密 HTTPS 传输。SSL 加速使得服务器无需执行 SSL 解密,从而可以显著提高服务器的性能。

Communicator Web Access 应始终具有专用的负载平衡器。不应在 Office Communications Server 和 Communicator Web Access 服务器之间共享负载平衡器。