前提:我在使用自定义 DNS 服务器在多个 Web 服务器上进行负载平衡时遇到了问题。我的目的是通过为用户提供新的“A 记录”,快速、动态地在不同服务器之间切换我想要的用户。
我尝试过的: 当前的解决方法是使用短 TTL(1 分钟),并在该分钟的持续时间内从旧服务器临时重定向到同一子域,但添加了缓存破坏值。(s-00001.example.com -> s-0001-TIMESTAMP.example.com)但该解决方案效率不高,因为它会导致大量不必要的 DNS 查询,因为我很少需要进行这样的切换!并且它使已经承受一定负载的旧服务器无法完全缓解,因为它仍然需要提供一分钟的重定向服务。
但我发现,当我响应 404 错误时,Chrome 和 Firefox 都会尝试另一次 DNS 查找。因此,这可以解决问题,但 404 仍会中断我的网站对该请求的正常操作。此外,我还没有使用其他浏览器测试过此系统,我不认为这是 Web 开发人员应该依赖的功能。
问题: 我想知道哪些状态代码能够在不同的浏览器上始终提供最佳结果,哪些状态代码更有意义。此外,如果您有任何其他建议/解决方法,我很乐意听到。
附言:我确实知道 DNS 并不是单独实现负载平衡的最佳选择,但这是我目前所处的情况。