我有一个包含本地缓存的写入和读取数据库应用程序。如果应用程序服务器出现故障,备份服务器将开始工作。
主应用程序和备份应用程序只能由于其本地缓存和数据库上的低隔离级别而独占运行。
就我的沟通知识而言,不可能让两个服务器总是弄清楚谁可以独家运行。
我可以通过将数据库用作第三个实体来以某种方式解决此通信冲突吗?我认为这是一个非常典型的问题,可能没有100%安全的方法,但我很乐意知道其他人如何建议解决这些问题?或者,如果有一些最好的做法。
如果这两个应用程序都没有工作30分钟左右就没关系,但是没有足够的时间让人们起床并让他们弄清问题是什么。
答案 0 :(得分:1)
您是否可以设置第三台服务器来监控两台应用服务器的运行状况?然后,如果其中一个服务器出现故障,该服务器可以适当地做出决定:指示热备用服务器开始处理。
答案 1 :(得分:0)
如果我得到了正确的图片,您的备份服务器会不断轮询主服务器以进行数据更新,检查轮询是否失败并在30秒后再次安排3次并在第三次失败时动态更新数据库服务器的DNS条目,以反映活动服务器中的更改。 Windows DNS和Bind都接受签名和未签名的动态更新。