Thomas Spycher
Thomas Spycher

Reputation: 976

MySQL Cluster Architecture Considerations

We are going to deploy a newly created WebApplication in the next weeks from a project i'm working in as a software guy. We do not expect high load in the first 6 month, but we want to build the system architecture in a scalable way. I have a idea, but not sure if this is common or performs well:

  1. i would create 2 or more mysql-ndb cluster nodes
  2. i would create 2 or more Webapplication nodes WITH the MySQL Frontend servers on it, connecting to the ndb storage.
  3. If i would deploy a new webapplication node it will always be shipped with mysql Frontend server installed on it. So, every Webapplication would connect to localhost for MySQL connection.

Cluster Scenario

I know there are security considerations in this scenario. The Webapplication is behind a reverse proxy and not directly accessible from outside.

Are there any disadvantages in this scenario? Just a theoretical question; what if i would have more frontend MySQL Servers than NDB Nodes on the storage Layer?

Upvotes: 0

Views: 1283

Answers (1)

Skillachie
Skillachie

Reputation: 3226

Don't think there are any major disadvantages. Just take into consideration the additional latency added for going through the proxy.

You can add as many MySQL Servers as you would like, they do not impact the number of storage/data nodes. It simply allows more clients to push queries to the data/storage nodes at once. Consider using the multi-thread storage node(ndbmtd) to quickly query and return data.

I would also recommend the following:

  • Add a additional management node (ndb_mgmd)
  • Add a load balancer to front the SQL Nodes/MySQL servers to further abstract your application from the database infrastructure. This will have two benifits, the application will not have to be restarted if one of the SQL nodes go down. You will be able to upgrade individual SQL nodes with minimal impact to the application.

MySQL Cluster Architecture Diagram

Additionally if you would like to read more.After doing research myself you could save some time by reading blog posts:

MySQL CLuster 101 MySQL High Availability Architectures

Upvotes: 1

Related Questions