0

我有一个持有本地缓存​​的读写数据库应用程序。如果应用服务器出现故障,备份服务器将开始工作。

由于其本地缓存和数据库上的一些低隔离级别,主应用程序和备份应用程序只能以独占方式运行。

就我的通信知识而言,不可能让两台服务器始终弄清楚谁可以独占运行。

我可以通过将数据库用作第三方实体以某种方式解决这种通信冲突吗?我认为这是一个非常典型的问题,可能没有 100% 安全的方法,但我很高兴知道其他人建议如何解决此类问题?或者,如果有一些最佳实践。

如果两个应用程序都没有工作 30 分钟左右,这没关系,但是没有足够的时间让人们起床并让他们找出问题所在。

4

2 回答 2

1

您可以设置第三台服务器来监控两个应用程序服务器的运行状况吗?然后,该服务器可以适当地决定以防其中一台服务器似乎已消失:指示热备用开始处理。

于 2012-04-08T21:13:20.337 回答
0

如果我得到正确的图片,您的备份服务器会不断轮询主服务器以获取数据更新,不难检查轮询是否失败,30 秒后再次安排它 3 次,并在第三次失败时动态更新 DNS 条目到数据库服务器以反映活动服务器的变化。Windows DNS 和绑定都接受签名和未签名的动态更新。

于 2012-04-08T21:19:34.297 回答