一个域名对应多个IP地址,接下来系统是依据啥决定使用哪个IP地址的

绝大多数Resolver,也就是操作系统用于解析出IP给应用程序使用的那个API,都是只使用第一个得到的IP地址。至于第一个IP地址出现的是哪一个,那就是DNS服务器端所决定的了。题主举的例子,DNS服务器端返回IP列表的算法稍微复杂。简而言之的话,第一步是根据客户的IP判断客户地理位置和网络状况,返回离客户位置最近的缓存节点的IP组(可以参见CDN了解相关知识)。而这组IP呢,客户每次查询服务器返回列表内顺序都会变,因此第一个IP也就会变。服务器可以根据算法决定这个排序是按权重,或者是完全均等。由这个算法,平衡每个IP收到的请求量。客户端的算法简单至极,还是那句话,只要第一个IP。
■网友
How do DNS clients choose an IP address when they get multiple answers?http://www.ietf.org/rfc/rfc1035.txt


    推荐阅读