mysql集群.net连接器

时间:2013-04-10 20:58:50

标签: mysql .net database-connection cluster-computing failover

我正在尝试将mysql集群用于我们客户的项目中。

我设置的配置如下: 硬件S.O.设备

Server1 - S.O. Windows 2008 R2 64bit 
Server2 - S.O. Windows 2008 R2 64bit 
Client1 - S.O. Windows 7 64bit 
Client2 - S.O. Windows 7 64bit 

UserClient2 - S.O. Windows 7 64bit 
UserClient3 - S.O. Windows 7 64bit 
UserClient4 - S.O. Windows 7 64bit 
UserClient5 - S.O. Windows 7 64bit 
UserClientXX - S.O. Windows 7 64bit (where XX is less than 15) 

我的Sql群集配置     Server1 - 充当群集数据节点1     Server2 - 充当集群数据节点2     Server1 - 充当mysql节点1(从现在开始MYSQL-D1)     Server2 - 充当mysql节点2(从现在开始MYSQL-D2)

Client1 - act as mysql cluster management node 1 
Client2 - act as mysql cluster management node 2 

客户端应用程序配置 以下客户端(从现在开始CLIENTAPP): Client1,Client2,UserClient2,..,UserClientXX 有一个与mysql集群数据库交互的Microsoft .Net应用程序。

一段时间后,我的sql群集配置似乎正常工作,任何CLIENTAPP都可以连接到MYSQL-D1或MYSQL-D2(这可能是通过更改.NET客户端应用程序的连接字符串并指向IP的MYSQL-D1或MYSQL-D2的IP)。

在一个完美的世界CLIENTAPP中,它能够连接到正确的服务器(MYSQL-D1或MYSQL-D2),实际上:      - 如果MYSQL-D1失败,CLIENTAPP将连接到MYSQL-D2      - 如果MYSQL-D2失效,CLIENTAPP连接到MYSQL-D1

.NET客户端应用程序如何与mysql集群交互?

我为我的场景找到的最佳解决方案如下:     1.使用mysql代理,但这是在alpha阶段,我不能在生产环境中使用它     2.在每个CLIENTAPP上安装群集数据节点     3.使用支持多个服务器的连接字符串(我不知道它是否受mysql .NET连接器支持)     4.重写我的应用程序以与MYSQL-DX节点交互(我想避免的)

有没有正确的解决方案?哪一个是最好的?

谢谢

1 个答案:

答案 0 :(得分:0)

在MySQL Cluster论坛上回答了这个问题: http://forums.mysql.com/read.php?25,583508,584009