主要观点:作者使用 Round Robin DNS 将服务器用于OpenFreeMap,探讨浏览器和 CDN 如何选择使用的服务器,介绍了 Round Robin DNS 的原理及避免使用负载均衡器的优势,通过创建不同地区的 VPS 进行测试,发现 Chrome 随机选择服务器且选定后保持,非 HTTP/2 时会随机在两个服务器间选择,Safari 总是正确选择最近的服务器,Curl 首次可能不正确但第二次会选择最近的服务器,Cloudflare 基于客户端 IP 随机选择服务器且不检测离线服务器,作者怀疑 Cloudflare 存在网络 bug,目前其行为不合理,如 US 和 New Zealand 的服务器会导致 50%US 用户从 New Zealand 获取服务,且对 Safari 用户更慢,HN 上 Cloudflare 的 CEO 和 CTO 已回复,作者还希望找到无需支付 3 个全球 VPS 费用的实验运行方式。
关键信息:
- Round Robin DNS 可在同一子域指定多个服务器以分担负载和检测离线服务器。
- Chrome 随机选择服务器且选定后保持,非 HTTP/2 时会随机在两个服务器间选择。
- Safari 总是正确选择最近的服务器。
- Curl 首次可能不正确但第二次会选择最近的服务器。
- Cloudflare 基于客户端 IP 随机选择服务器且不检测离线服务器。
重要细节:作者创建了美国、欧盟和新加坡的 3 个 VPS,在 Cloudflare 中设置了 3 个代理和 3 个非代理 A 记录,服务器运行 nginx 并提供 color.png 和主机名,通过 HTML 测试页和 curl 命令进行测试,发现不同浏览器和工具在选择服务器时的行为差异,以及 Cloudflare 对离线服务器的处理不当等情况。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。