![SIP 服务冗余的最佳选择是什么?](https://linux22.com/image/610361/SIP%20%E6%9C%8D%E5%8A%A1%E5%86%97%E4%BD%99%E7%9A%84%E6%9C%80%E4%BD%B3%E9%80%89%E6%8B%A9%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
根据您的实际经验,SIP 服务冗余的最佳选择是什么?
a)一个 SRV 记录指向具有两个 A 记录的主机名
b)两个 SRV 记录指向两个不同的主机名
c)在两台服务器之间切换服务 IP 地址的高可用性工具
我知道 c) 适用于大多数客户端,但许多环境不允许机器之间共享 IP 地址(大多数虚拟化提供商不允许)
答案1
(a) 和 (b) 大致相同。这两种方法之间的唯一区别在于不支持 SRV 记录的客户端。总的来说,所有 NNI 通信都应支持 SRV 记录。某些用户代理可能不支持 SRV。
如果集群成员之一失去响应,所有基于 DNS 的方法((a)和(b))都会产生延迟:DNS 解析器会缓存记录,因此即使失去响应的集群成员在发生故障后立即从 DNS 中撤出,某些客户端仍会尝试使用它。基于 IP 地址的高可用性不会遇到此问题。
(c) 通常需要广域任播(独立于提供商的 IP 地址和 BGP)或者高可用性集群成员在拓扑上彼此接近(通常在同一个第 2 层网络上)。
这两种方法可以结合起来:DNS 中的多个地址,每个地址都指向本地高可用性集群。