我开始开发将托管在云中的 Web 服务,但需要比典型的云 SLA 提供的更高的可用性。
典型的 SLA,例如 Windows Azure,承诺 99.9% 的可用性,即每月最多 43 分钟的停机时间。我正在寻找一个数量级更好的可用性(每月<5分钟的停机时间)。虽然我可以配置几个负载平衡的数据库后端来解决这部分问题,但我发现网络服务器存在瓶颈。如果网络服务器出现故障,客户将无法使用整个服务。在不引入另一个可能的单点故障的情况下降低风险的选择是什么?我看到以下解决方案和缺点:
SRV 记录:我复制整个基础架构(并注意数据库同步)并为域添加额外的 SRV 记录,以便绑定访问 www.example.com 的用户将自动转发到 example.cloud1.com或者如果那个离线到 example.cloud2.com。谷歌搜索似乎任何主要浏览器都不支持 SRV 记录,这是真的吗?
第二个 A 记录:添加一个额外的 A 记录作为替代。缺点:a) 在我的托管服务提供商处,我看不到添加第二条 A 记录的任何可能性,但只有一条……这正常吗?b)如果两台服务器中的一台服务器关闭,我不确定用户是否会自动重定向到另一台或 50% 的用户会收到 404 或其他错误
任何最佳实践的线索将不胜感激
干杯,塞巴斯蒂安