Master-to-Master Databases with EE?


#1

I’m looking to move from Vultr to Digital Ocean and take advantage of their load balancer, spinning up 2 droplets to share the load of my WP sites.

Does EE have anything in place to make it easy to install over 2 servers or any master-master recommendations?


#2

Hello,

For a master-to-master replication, you will need at least 3 nodes, because in case of failure your cluster need 2 online nodes.

DO load-balancer seems pretty expensive to me. Cloudflare provide load-balancer service from $5/mo and include a lot of other features. A droplet with Nginx or Haproxy can also be used as a load-balancer.

To setup your databases replications, you can setup MariaDB Galera Cluster with Haproxy, there are pretty good tutorials available on howtoforge, Nixcraft or digitalocean.


#3

Hey, thanks for the information. I’d have to have master-master replication on the servers too for keeping file uploads and plugin updates in sync too I’d guess.

CF load balancer gets expensive when you consider its per site I believe not per server?

Basically I’m still really surprised that no one has a replicated solution for droplets that offer scaling and a failsafe for droplets going down?


#4

For you files, you can use GlusterFS to mirror files accross two nodes : https://www.howtoforge.com/tutorial/high-availability-storage-with-glusterfs-on-centos-7/

About CF load-balancer, that’s true, it’s per domain.

There are no high-availability one-click solutions, because it’s too expensive (5 droplets + load-balancer instead of a single one) without necessarily providing better performance. And database replication isn’t easy to maintain. For example, if two nodes crash in your cluster, the command “service mysql restart” will not be enough to get the cluster up back


#5

Thanks - that makes sense

Do you think the best solution is to simple sit a server behind a load balancer or floating ip so that I just spin up another droplet and redirect to that incase of something fatal to the original droplet?

I could then just write a script to pull the latest snapshot, server settings and then import the latest hourly db’s to the new droplet?

I was hoping for something more reliable than that but it would me I could write a script that could be easily executed to handle it all I guess?


#6