【发布时间】:2010-12-26 03:12:36
【问题描述】:
在具有 SQL Server 故障转移群集或镜像的环境中,您希望如何处理错误?好像有两种选择:
- 当前整个客户端请求失败,让用户重试
- 在 DAL 中发现错误,然后在那里重试
每种方法都有其优点和缺点。我合作过的大多数商店都做#1,但他们中的许多也没有遵循严格的交易界限,而且在我看来,如果发生故障,他们会为麻烦而敞开心扉。即便如此,我在将它们与 #2 交谈时遇到了麻烦,这也应该会带来更好的用户体验(一个问题是发生故障转移时可能会出现长时间的延迟)。
任何一种或另一种方式的论点都会受到赞赏。如果您使用第二种方法,您是否有一个有助于简化实现的标准包装器?无论哪种方式,您如何构建代码以避免出现与失败命令中缺乏幂等性相关的问题?
【问题讨论】:
标签: sql-server data-access-layer cluster-computing failover