假设一个简单的场景,即拥有大量用户的 Intranet,将有一个 DNS 服务器,用于为最终用户系统转换 IP 地址。现在,您还拥有一个yourapp.intranet
部署在 Apache 上以实现负载平衡的 DNS 服务器。
如果每个客户端都像 Windows 一样维护 DNS 缓存,负载平衡将如何工作?第一个请求将获得“负载平衡”响应,但下一个请求将直接绕过 Apache?此外,如果用户直接访问节点,由于它已经知道 IP,那么 Apapche 是否能够跟踪所有这些请求?
C1-----*-----S1
|
DNS
|
C2-----*-----S1
或者像 DNS仅有的知道 Apache 服务器的 IP,并且负载平衡是在 Apache 级别进行的?那么就 DNS 而言,它根本不知道节点。这也意味着它是内部发生的 NATing 吗?
C1----* S1
| |
DNS-----*
| |
C2----* S2
答案1
看起来你问的是两个不同的事情。你可以利用名称解析的循环特性将 DNS 用作一种负载平衡器。但这还有很多不足之处。
负载平衡的主要方法涉及实际的负载平衡器,其单一 IP 地址通过 DNS 解析。因此您的客户端不知道后端服务器的 IP。