我想在两台Windows 2012服务器上运行具有相同内容的IIS服务。 服务器只能从内部网访问。 目标是如果服务正在运行,其名称(FQDN)可以由DNS解决。 所以,如果两台服务器都启动并运行,则两个IP地址都会提供给客户端。 如果其中一台服务器上的服务出现故障,则应在TTL到期后从DNS中删除受影响的服务器的IP地址。 如果服务恢复,它会自动重新input到DNS。 任何想法如何实现? 我读过DDNS是这个答案,但我无法find如何实施它的分步说明。 谢谢F.
DIY的解决scheme将使用PowerShell脚本,这将需要作为服务运行/或者是计划在Windows任务调度程序中运行的东西。
if (current host down / some sort of heartbeat check) update dns using powershell mapping the new host to the new address or remove existing host thats offline,etc etc. else do nothing
**注意:所涉及的唯一风险如下所述。 例如,从低TTLlogging中持续丢弃dnscaching将等同于命名服务器上更多的dnsstream量。 这可能是一个坏主意(见下面和上面的评论),取决于你的网站实际获得的stream量“如果你自己托pipe自己的DNS服务器,你的名字服务器无法处理额外的负载/stream量”,但它是一个工作解决scheme。
但是,使用相同的解决scheme增加TTL将减lessDNS服务器上的负载,但是会增加现有非授权名称服务器和客户端为了获得新的DNS条目而丢弃其caching所需的时间。
这也不是一个真正的故障转移。 在发生这种情况时,您将会有间歇性的停机时间,并且会话将会在与当前机器断开连接时被破坏并重新创build。 这可能会影响正在访问的数据库,并可能会根据代码的写入方式来破坏其他内容。 如果它是静态的HTML内容虽然,你会没事的**