HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMinor

Load-balanced MySQL cluster without load balancer

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
withoutbalancedmysqlloadbalancercluster

Problem

I'm looking to create a load-balanced MySQL cluster, but without the actual load-balancer, in order not to add another point of failure or complexity.

What I was thinking was to have the following:

-
Have a master-master setup for MySQL

-
On every client, place a simple round-robin proxy which would rotate the requests between servers.

Is this possible? Or there are better ways to achieve this?

Solution

Please read my other answer to this question before actually using a MySQL proxy of any kind. If You have 2 master-master servers that a CMS is writing to, and 10 httpd that only read from it, You'll be fine, but (as pointed out in the other answer) that's not always the case. You've been warned.


MySQL Proxy is a simple program
that sits between your client and
MySQL server(s) that can monitor,
analyze or transform their
communication. Its flexibility allows
for unlimited uses; common ones
include: load balancing; failover;
query analysis; query filtering and
modification; and many more.

.


HAProxy is a free, very fast and
reliable solution offering high
availability, load balancing, and
proxying for TCP and HTTP-based
applications

If You would run it in TCP mode, it could be even better than Wackamole. If I had to choose between them, I would use HAProxy. Also HAProxy can have a lot of backends, Waclamole can have only 2. Note that HAProxy is "dumb", it connects sockets without any looking on what's inside the stream - dedicated MySQL Proxy might f.e. have an option to point various requests to specified servers.

Context

StackExchange Database Administrators Q#11789, answer score: 5

Revisions (0)

No revisions yet.