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