Dan*_*iel 5 domain-name-system failover
我最近注意到为一个主机名设置多个 A 记录不仅可以用于循环负载平衡,还可以用于自动故障转移。
所以我尝试测试它:
事实上,浏览器会自动尝试不同的服务器来加载页面。这适用于 Opera、Safari、IE 和 Firefox。只有 Chrome 无法尝试不同的服务器。
但是在将该服务器离线几分钟并查看访问日志后,我发现对其他服务器的请求数量并没有显着增加。在 3 台服务器中有 1 台离线时,我原本预计对其余 2 台服务器的访问量大约会增加 50%,但我只看到了 7-10%。这只能意味着浏览器内 DNS 故障转移对大多数浏览器/访问者不起作用,这与我刚刚测试的内容直接矛盾。
有没有人知道浏览器的 DNS 故障转移行为是怎么回事?为什么自动故障转移对我有效,但对我们的大多数访问者无效?
编辑:为了清楚起见,我绝对没有更改我们的 DNS 设置;这里没有 TTL 或传播问题,关键在于客户端如何处理多个 A 记录。
好吧,我首先要说的是,无论如何,DNS 都不是一个好的故障转移系统,您需要一个反向代理或负载平衡器。造成体验不一样的原因有很多。首先,在 Chrome 中,它使用操作系统来获取 DNS 信息,因此这取决于 IP 的操作系统,因此在这种情况下,操作系统可能只给它一个 IP。
就其他浏览器而言,其工作方式高度依赖于它们的 DNS 处理方式。因此,浏览器本身可能会决定不尝试其他 IP,甚至根据 DNS 服务器的响应多次尝试同一 IP。
这让我们想到了 DNS 服务器本身,大多数不尊重您的 TTL 记录并保留它感觉的时间,这意味着用户可以在相当长的一段时间内获得您的旧 IP...
第四,用户体验,你是否希望用户必须刷新3次或4次才能访问你的网站?您的网站上是否有任何基于会话或登录的内容,如果浏览器在会话过程中获取另一个 IP,会发生什么情况。如果您确实需要高可用性和正常运行时间,您确实需要考虑正确、诚实地进行操作,否则最终会比仅使用一台服务器更加破碎。
| 归档时间: |
|
| 查看次数: |
6549 次 |
| 最近记录: |