【发布时间】:2014-06-04 21:36:32
【问题描述】:
我们设置了 DNS 故障转移,TTL 为 180 秒。当服务器出现故障时,它会将 A 主机记录上的 IP 地址更新为工作服务器的 IP 地址。目前,我们的网站使用 AJAX 请求进行间隔刷新。当其中一台服务器发生故障时,DNS 会更新并故障转移,因此如果您 ping 域,它具有正确的 IP。但是由于某种原因,在浏览器内部,并且在 TTL 过期很久之后,AJAX 请求仍然保留分配给域名的旧 IP 地址(注意页面不能在浏览器中重新加载)。在阅读其他问题时,我知道您无法强制刷新客户端上的 DNS 缓存。我的问题是,你们中的任何人都知道使用 javascript 或 AJAX 实现此目的的另一种方法或技巧吗?谢谢。
【问题讨论】:
-
对我来说似乎是 X/Y 问题;您之所以处于这种情况,是因为您的基础设施存在缺陷……浏览器因保留 DNS 而臭名昭著,可能是出于性能原因,所以除非我的工作受到威胁,否则我不会走这条路 :)
-
归结为高可用性解决方案。我们有两台服务器通过 ajax 请求提供数据。由于 Web 应用程序是客户端,因此不会在浏览器中刷新。 AJAX 会定期刷新,并且 ajax 中的域名将保持不变,但是当服务器出现故障时会更新 IP。如果没有办法做到这一点,您知道我如何重新设计站点/ajax 请求以实现高可用性,并由两台服务器处理请求吗?谢谢
-
只是一些一厢情愿的想法:如果您要向另一台始终运行且从不更改其 IP 的服务器发出请求,然后从该服务器执行
cURL(或类似的)并返回响应?那么,您将the-always-up-server用作某种路由器? -
嗨,哪里可以放置一个永远在线的服务器?纽约?西海岸?中国?嫁接到海底电缆上?
标签: javascript jquery ajax dns