I have a master-master-master MySQL DB cluster, but run into deadlocks if writes from one web node are across multiple DB servers, so I have this:
listen QA-Single-DB1:23321 bind 127.0.0.1:23321 option httpchk default-server port 9200 inter 5000 fastinter 2000 rise 2 fall 2 server db1 db1:3306 check server db2 db2:3306 check backup server db3 db3:3306 check backup listen QA-Single-DB2:23322 bind 127.0.0.1:23322 option httpchk default-server port 9200 inter 5000 fastinter 2000 rise 2 fall 2 server db2 db2:3306 check server db3 db3:3306 check backup server db1 db1:3306 check backup listen QA-Single-DB3:23323 bind 127.0.0.1:23323 option httpchk default-server port 9200 inter 5000 fastinter 2000 rise 2 fall 2 server db3 db3:3306 check server db1 db1:3306 check backup server db2 db2:3306 check backup This works, but each listen section is doing a health check. Is there any way to specify the health check as a global default? Not having "backup" and using "balance source" would almost work, but I have multiple sites on one server. I would like the sites spread out over the the three DB servers but with fail-over. Thanks for any help/insight/comments! Michael