我有一个在大型主机托pipe设施中的服务器上运行的服务。 此服务器是其他服务器报告通知上/下的地方。 非常基本的东西。 每个远程服务器上的客户端代理有1个条目指向 – 要报告 – 并且软件没有容错。
我想要做的是实现循环DNS来处理在colo的监控服务器的主要互联网连接。 这个系统有一个很大的连接,但它应该离线我得到了一堆错误的警报,代理服务器脱机 – 当他们实际上不是 – 它的彩色线路closures或该线路的防火墙closures。
如果我在DNS中做2个条目,第一个是大带宽和主防火墙,第二个是较低的带宽和较小的防火墙。 那么这些来自目标代理商的“我在线/离线”的小包会更好吗? 我知道这是不是最佳的,但该软件没有代码为2个单独的条目代理尝试。 报告服务器不是非常稳定的(双sans和3 VMWare服务器 – 冗余)…但是我在防火墙和主线上有一个单点故障。 只是想尝试使这个更好一点,如果该线路或防火墙失败。
思考?
如果我在DNS中做2个条目,第一个是大带宽和主防火墙,第二个是较低的带宽和较小的防火墙。 那么这些来自目标代理商的“我在线/离线”的小包会更好吗?
不,这是如果主防火墙closures会发生什么情况:
DNS是一个简单的键值存储,除此之外,没有什么知识。 如果他们使用循环法,您的系统仍然会失败。 公平地说,他们将失去一半的时间,这意味着成功的另一部分时间。 在其中一个防火墙发生故障的情况下,循环机制会在您的托pipe空间发出正常运行的防火墙/互联网连接的IP地址,结果一半时间不可预知。 在任何给定的点,有两个防火墙closures和两个循环条目之一,只有一半的DNS查询将是正常的IP地址。 所以,看着光明的一面,我想这比什么都好?
真正解决问题的方法是通过更好的提供者,SLA和硬件使连接更加可靠,或者使用某种链接绑定。 使用类似Elfiq负载均衡器来pipe理绑定。 当然,这会引入一个新的单点故障。 然后,您可以将主动/被动群集中的Elfiqs加倍。 然后你注意到它们都在同一个电源电路上,所以你可以单独断电到你的机柜。 然后你注意到两个电路在同一个网格上
…然后你意识到永远不会有没有SPOF存在的时候,所以你只需要将SPOF转移给另一个人,这样你就可以责怪他们,或者一个足够惊人的设备/系统你晚上睡觉。 直到你意识到你的开发者没有理智检查应用程序的input。
你想要的不是DNS Round Robin,它是冗余的连接 (你的colo供应商应该已经给你的东西,至less在他们的边缘)如果他们没有多个冗余的上行链路,并且configuration了适当的路由, 去找一个新的托pipe设施 )。
如果您只有一个防火墙/networking上行链路,并且单点故障不可接受,则需要投入到您的ISP核心的冗余防火墙和冗余链路(最好是通过不同的接入交换机)。 几乎任何名副其实的商业防火墙都可以做到这一点。 如果您的预算有限,甚至可以使用免费的防火墙 。