Gra*_*ton 31 domain-name-system windows load-balancing hosts-file
在 Windows 系统中,该文件位于C:\WINDOWS\system32\drivers\etc\hosts. 该文件允许我们将特定 IP 地址默认为主机名。
现在的问题是我是否可以将多个 IP 地址设置为一个主机名。例如,我可以做这样的事情:
192.168.244.128 gateway.net
192.168.226.129 gateway.net
Run Code Online (Sandbox Code Playgroud)
并期望浏览器可以解析它们,看看哪一个可以工作,从而指向那个?
如果没有,还有其他方法可以获得我想要的行为吗?
注意:我正在自己的局域网中部署此应用程序,因此不需要互联网。
Mar*_*son 30
通常您不会使用主机来执行此操作,而是使用您的 DNS。如果您将多个 A 记录分配给区域中的一个名称,大多数 DNS 将提供所谓的“循环”。
然后它会做的是,第一个请求通过会收到192.168.244.128,下一个会收到192.168.226.129,依此类推。但是,根据设计,您的本地计算机将缓存其 DNS 解析,并且通常会一遍又一遍地使用相同的 IP 地址,直到它过期(生存时间,TTL)。
Mar*_*rkR 21
是的,您可以这样做,我已经用它来测试循环 DNS 方案,而无需实际在 DNS 中输入主机。
当应用程序调用 gethostbyname 时,它会取回完整的 IP 地址列表(可能以随机顺序 - 取决于库/操作系统)。
Nic*_*ias 13
我认为你这样做是错误的。如果我在这里做出错误的假设,请告诉我。
设想:
您尝试执行的操作称为循环 DNS(又名穷人负载平衡),但您尝试从客户端执行此操作。即使我刷新了 DNS 缓存,这似乎也没有达到预期的效果(至少在我的 Windows XP 机器上)。Windows 只会解析到文件中的第一个 IP。尽管如此,循环 DNS 不是容错的,所以这不会帮助你实现你想要的。
建议的解决方案:
硬件负载均衡器:一些品牌名称是 Alteon、Big-IP、Barracuda。它所做的基本上是为您的用户提供一个 IP 以连接到并将请求转发到 Web 服务器。如果其中一台服务器不可用,则它将不再向其转发流量。这是昂贵的选择。
网络负载平衡服务:这是 Windows 服务器上可用的 Microsoft 技术,它将为您提供单个群集 IP。它实现了与硬件负载平衡器相同的结果,但方式不同。您需要做的就是配置它。
| 归档时间: |
|
| 查看次数: |
214863 次 |
| 最近记录: |