在失败时交换DNS条目

我正在构build一个需要高可用性的应用程序。 我们目前运行:4个Web服务器,2个清漆服务器(两个都用磅代表SSL代理),3个Cassandra节点。

清漆服务器被用作系统的入口点。 我们要configurationVarnish A始终工作的所有东西,直到失败,然后Varnish B应该收到请求并将其分发给Web服务器。

由于光油A和光油B不在我们公司的同一直stream电和其他一些要求,所以不可能使用一些类似心跳的系统来使用虚拟IP。

我们决定用我们网站的CNAMElogging来解决这个问题。

我们现在有这样的东西:

hac.domain.com CNAME hac1.domain.com(TTL = 60s)

hac1.domain.com A 12.34.56.78(TTL = 86400s)

hac2.domain.com A 22.33.44.55(TTL = 86400s)

我们的想法是在我们检测到失败时交换hac.domain.com CNAMElogging。 这给了我们大约2分钟的最大停机时间(如果没有DNScaching仍然redirect到错误的服务器)。 可以接受我们的用例。

主要问题:如何以冗余方式检测故障并防止误报?

我开始使用Route 53和Amazon的CouldWatch来提供我所需要的服务级别。 正是我需要的!

您可以使用心跳检测失败并运行脚本来更改dns。 您需要使用专用连接进行心跳。