Hi,I'm trying mysql cluster to use in a project for our customer.
The configuration I setted up is the following:
Hardware S.O. equipment
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)
My Sql Cluster Configuration
Server1 - act as cluster data node 1
Server2 - act as cluster data node 2
Server1 - act as mysql node 1 (from now MYSQL-D1)
Server2 - act as mysql node 2 (from now MYSQL-D2)
Client1 - act as mysql cluster management node 1
Client2 - act as mysql cluster management node 2
Client application configuration
The following clients (from now CLIENTAPP):
Client1, Client2, UserClient2, .., UserClientXX
have a Microsoft .Net application that interact with mysql cluster database.
After a while the My sql cluster configuration appears to work correctly and any of CLIENTAPP it's able to connect to MYSQL-D1 or MYSQL-D2 (this is possibile by changing the connection string of .NET client application and pointing to IP of MYSQL-D1 or to the IP of MYSQL-D2).
In a perfect world CLIENTAPP automatically it's able to connect to the right server (MYSQL-D1 or MYSQL-D2), pratically:
- if MYSQL-D1 it's down CLIENTAPP connect to MYSQL-D2
- if MYSQL-D2 it's down CLIENTAPP connect to MYSQL-D1
How .NET client application can interact with mysql cluster?
The best solutions I have found for my scenario are the followings:
1. use mysql proxy but this is in a alpha stage and I can't use it in production enviroment
2. install cluster data node on each CLIENTAPP
3. use a connection string that support multiple servers (I don't know if it's supported by mysql .NET connector)
4. rewrite my application to interact with both MYSQL-DX node (what I want to avoid)
Is there a right solutions? Which one is the best one?
Thank you
The configuration I setted up is the following:
Hardware S.O. equipment
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)
My Sql Cluster Configuration
Server1 - act as cluster data node 1
Server2 - act as cluster data node 2
Server1 - act as mysql node 1 (from now MYSQL-D1)
Server2 - act as mysql node 2 (from now MYSQL-D2)
Client1 - act as mysql cluster management node 1
Client2 - act as mysql cluster management node 2
Client application configuration
The following clients (from now CLIENTAPP):
Client1, Client2, UserClient2, .., UserClientXX
have a Microsoft .Net application that interact with mysql cluster database.
After a while the My sql cluster configuration appears to work correctly and any of CLIENTAPP it's able to connect to MYSQL-D1 or MYSQL-D2 (this is possibile by changing the connection string of .NET client application and pointing to IP of MYSQL-D1 or to the IP of MYSQL-D2).
In a perfect world CLIENTAPP automatically it's able to connect to the right server (MYSQL-D1 or MYSQL-D2), pratically:
- if MYSQL-D1 it's down CLIENTAPP connect to MYSQL-D2
- if MYSQL-D2 it's down CLIENTAPP connect to MYSQL-D1
How .NET client application can interact with mysql cluster?
The best solutions I have found for my scenario are the followings:
1. use mysql proxy but this is in a alpha stage and I can't use it in production enviroment
2. install cluster data node on each CLIENTAPP
3. use a connection string that support multiple servers (I don't know if it's supported by mysql .NET connector)
4. rewrite my application to interact with both MYSQL-DX node (what I want to avoid)
Is there a right solutions? Which one is the best one?
Thank you