我正在尝试将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节点交互(我想避免的)
有没有正确的解决方案?哪一个是最好的?
谢谢