使用会话启动协议代理服务器进行高可用性和工作负载管理
会话启动协议 (SIP) 高可用性解决方案假定所有属于同一对话的消息都由同一容器处理。如果容器出现故障,那么该容器复制域中的其他服务器将获取由该容器处理的所有会话,并立即激活这些会话。后续所有属于故障容器的会话的消息将发送至负责该会话的新容器。

高可用性管理下列各项:
- 可伸缩性 - 将更多服务器添加到集群以处理负载增长的能力。
- 负载均衡 - 将负载分布在集群中的所有服务器中的能力,以便不会出现有些服务器未使用而有些服务器过载的情形。
- 故障转移 - 从解决方案中的一个或多个组件故障中恢复的能力。
SIP 高可用性解决方案使用下列组件:
- SIP 容器 - 维护所有会话并启动所有应用程序。
- SIP 代理服务器 - 管理大量客户机连接,将入局消息路由至适当的 SIP 容器,并创建与客户机和其他域的出站连接。
- Network Dispatcher - 为集群提供单个 IP 并在代理之间循环。
- 统一集群框架 (UCF) - 在 SIP 容器与 SIP 代理之间传递路由信息。通过使用 UCF,SIP 代理将消息路由至负载最轻的 SIP 容器或某一接管故障服务器的会话的容器。注: 如果在流量正在流动时将 SIP 容器添加到集群,那么应一次添加一个 SIP 容器,以便系统可完成容器的引导过程而无须消耗整个集群的资源。如果一次添加一个容器,那么只有已添加的容器会完成引导过程,而不是集群中的所有容器都完成引导过程。
通过以下方法管理 SIP 代理中的故障转移:
- 在 SIP 容器之间复制会话中的数据,以便在服务器发生故障时其他容器能够激活失败会话。
- 因为 SIP 会话可能与计时器关联,所以检测到故障后立即激活其他服务器上的失败会话。
- 将属于失败会话的入局消息路由至处理该会话的新服务器。