首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HAProxy为镜像SQL服务器提供容错功能

使用HAProxy为镜像SQL服务器提供容错功能
EN

Server Fault用户
提问于 2010-01-29 03:10:55
回答 2查看 1.8K关注 0票数 3

我们正在为即将推出的网络产品建立我们的生产环境。对于此堆栈,主Server 2008将用于活动数据库操作,辅助Server 2008将从主Server (通过Server的内置镜像功能)镜像其数据。我们将在辅助Server上运行报表服务,而当主Server不可用时,报表服务具有热备用状态。

在应用程序级别,我们有两个选项:

  1. 在应用程序层中实现故障检测,因此如果主Server没有响应,请让我们的DAL访问辅助SQL Server。或
  2. 让应用程序层指向vip,并让HAProxy处理故障检测。

问题是,选择2是一个可行的选择吗?

注意:我们理解在数据库级别提供高可用性的其他方法(例如集群),但我们的目标是找到一种成本效益高的解决方案。

EN

回答 2

Server Fault用户

发布于 2010-01-29 08:02:11

你所说的“数据镜像”是什么意思?

您可以让数据库镜像,在这种情况下,客户端(即。您的DAL)可以在连接字符串中使用FailoverPartner,并跟踪故障转移事件并连接到新的主体。您的报告将运行数据库快照,而不是数据库本身,因为镜像不可用。

您可以有一个故障转移群集,客户端首先连接到群集资源名,并且它不知道要开始使用的活动节点主机名,但这不能使您访问备用伙伴上的任何数据。

您可以使用硬件镜像,但这是一个单独的主题。

有人说复制是一种选择,我不是那个阵营的人。

还有..。差不多就是这样。除了自己的内部数据镜像技术,不管这意味着什么。

更新的

如果使用数据库镜像,则只需在连接字符串中指定故障转移伙伴,请参阅将客户端连接到镜像数据库。在遇到故障转移事件时,应用程序必须处理事务一致性。故障转移事件将突然断开客户端的连接,并在客户端代码中引发异常。任何挂起的事务都将被中止。客户端代码必须重新连接,读取持久化状态,并从数据库中找到的状态恢复工作。正确编写的应用程序将优雅地、无问题地处理此问题。

镜像始终处于脱机状态,无法访问。如果要在镜像上运行报表,则必须获取数据库快照并在快照上运行报表。快照必须定期刷新(删除和重新创建)。见数据库镜像和数据库快照数据库镜像和数据库快照

网络层负载平衡器与镜像无关,也不解决任何问题。

票数 4
EN

Server Fault用户

发布于 2010-01-29 10:43:42

以上任何一项都不行吗?

请澄清镜像sql服务器的含义。您是使用某种SAN来进行镜像,还是使用Server内置的镜像函数?

我可以看到您如何在web层上使用HAProxy,但是为什么要使用Server呢?在Server中还有其他更受支持的HA选项,如群集、镜像和复制。我会先调查这些。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/107447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档