我有多个具有相同内容的网络服务器,托管在不同的提供商之间。但是,我似乎找不到一个好的、简单的故障转移解决方案。负载平衡软件(Pound、HAProxy 等)是不必要的,我需要灵活地管理超过 100 个域,所以我发现的付费 DNS 故障转移解决方案太贵了。
到目前为止,我想到的最简单的解决方案就是在我的名称服务器(运行 BIND)上的每个区域条目中设置一个非常低的 TTL(30 分钟 - 1 小时)。然后,持续监控每台服务器,并从区域条目中临时删除故障服务器。但这似乎是目前应该可用的东西。
我只有对运行 CentOS 的不同 VPS 的 root 访问权限。有什么建议么?谢谢!
您正在寻找的东西称为全局负载均衡器。它基本上会做你正在做的事情,只是以更自动化的方式。
我们用我们的一个系统做类似的事情。DNS 从 MyDNS 运行,因此所有记录都存储在 MySQL 中,从而使更新变得简单而简单。TTL 记录也非常低,因为即使是 5 分钟的中断也会很痛苦。
系统基本上通过每隔几分钟检查一次心跳并相应地更新记录来工作。
不完美,因为主机宕机可能会导致用户中断恢复该 dns 或在其代理中具有愚蠢的 dns 缓存策略。解决此问题的唯一方法是将主机聚集在某种 HA 设置中的位置。
看看Perlbal