具有多个 A 记录的 HttpClient 的行为是什么?

Bea*_*epp 9 .net

如果我有一个解析为两个 IP 地址的 DNS A 记录,则连接到域时 System.Net.Http.HttpClient 的行为是什么?

例如:

  • Curl 尝试第一个 IP 地址,如果无法打开连接,则会尝试第二个 IP 地址。

  • Python 的请求库会尝试两个 IP 地址,第一个获得连接的获胜(我假设另一个已关闭)。

  • NodeJS 似乎会尝试第一个,如果它不起作用,那对你来说就太糟糕了。

我似乎找不到 dotnets HttpClient 的功能的文档。很高兴知道我可以在 A 记录中拥有两台机器,如果其中一台出现问题,出现连接错误的客户端将重试,并最终获得另一个 IP。

我担心客户端可能会收到连接错误,然后仅重试该 IP 地址,这意味着它们将永久出错,直到重新启动或第一台计算机修复为止。