.net - 使用 .Net 连接器配置 MySql 集群故障转移

标签 .net mysql failover connector

我有一个在负载平衡环境(2 个 Windows 服务器)上运行的 ASP.Net 网站。它连接到在运行 Ubuntu 的两台 Linux 服务器上运行的集群 MySql 数据库。

在尝试通过我们的 JetNexus 负载平衡器路由 MySql 数据时,我们遇到了一些错误,所以我试图找出是否有一种方法可以使用某种方式配置各个 Web 服务器自动数据库服务器故障转移检测。如果我使用的是 MS-SQL,我会使用“故障转移伙伴”参数配置连接字符串,但 MySql 不支持它。还有其他类似的东西吗,或者是否有解决此问题的替代方法?

额外信息:

  • 我正在使用 MySql 连接器 6.4.3、ASP.Net 4.0、MVC 3.0,数据库正在运行 MySql 集群 7.1.15a、cluster_server 5.1

  • 我已经尝试在连接文件中指定多个 MySql 主机(使用“server=192.168.0.1 & 192.168.0.2”),虽然这似乎有效,但它不会自动检测故障转移并尽快崩溃当我取出其中一个数据库时。

  • 我遇到了一个叫做“MySQL 代理”的东西,它看起来应该符合要求,但我们有一个硬件负载平衡器,所以我打算花时间让它正常工作,而不是实现额外的软件代理。

  • 我们收到的错误是“System.IO.EndOfStreamException:试图读取流的结尾。”。当我们通过负载均衡器运行 MySql 时,会间歇性地发生这种情况。这是一个单独的问题,可能与问题无关,但为了完整起见,我将其包含在此处。

感谢阅读!

最佳答案

我不完全了解 MySQL Cluster(从未使用过)但我有建议:

是否可以将集群服务器放在一个ip下?所以 Ubuntu 或 MySQL 集群负载平衡会处理故障转移?

关于.net - 使用 .Net 连接器配置 MySql 集群故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7464962/

相关文章:

c# - 通过大量控件提高 Winforms 性能

php - 使用 php mysql 进行地理定位内容

具有故障转移功能的 Mysql 连接池

php - 如何构建可用的 Web 应用程序

.net - 使用 VS 2013 和 .net 4.5.1 但仍然得到 “Changes to 64-bit applications are not allowed”

c# - 为 BackgroundWorker 设计接口(interface)

mysql - Regex 带来恰到好处的匹配 MySQL

tomcat - Grails Quartz Clustering - 调度程序仍然独立运行

c# - .NET 与西门子 PLC S7 200 的接口(interface)

php - 即使使用 NULL 也使用 while() 显示