原则上,SQL Server 故障转移集群将自身呈现为应用程序可以连接的虚拟机,而忽略了 SQL Server 实际上是服务器集群这一事实,因此,原则上在应用程序的数据库访问层内不需要额外的逻辑.
我的问题是上述是否属实,以及在使用故障转移集群时是否对数据库访问层的操作方式进行了最佳实践修改。例如,当故障转移发生时,可能会有延迟,这可能会导致数据库访问层出现超时错误,我们正在考虑在该层中放置逻辑以在发生超时时重试 [一些] 数据库调用(我们已经重试数据库死锁的逻辑)。这提供了另一个级别的保护,防止影响应用程序的错误。
如果发生故障转移切换并导致更高的应用程序级别在服务调用上收到超时错误,那么这不是无缝切换。我们是否应该简单地将超时设置为允许故障转移的持续时间?
谢谢。