Load-balanced MySQL cluster without load balancer 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?
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.