I am working on an HA databases cluster solution.
I have six nodes of the XtraDB cluster Percona, the cluster run in two data centers, and each node run as the main.
The distance between the data centers is about 30 kilometers.
In each data center are three nodes.
I set up this solution because the applications need access to data in both data centers at all times.
So I have some questions:
- is it a good idea if I have two DCs? Can I use another solution for reading/writing data from nodes/cluster?
- I have a worry about seq number, because I have an even number of nodes.
But I need the database to run even if will one data center doesn’t work, that’s why I set up 6 nodes, what do you think?
Thank you, Josef
Hi, with an even number of nodes if one DC is lost then quorum will be lost and the cluster won’t take writes any more. Also PXC nodes across remote sites is not recommended due to latency. It might be worth to consider 2 separate PXC clusters (one on each DC). Then use asynchronous replication to link the two together. If you search Percona blog there are many articles about this.
Hi Ivan, thank you for your response.
What do you think about Galera Arbitrator for this situation, assuming we ignore latency?
If our second DC goes down then the Galera Arbitrator will take over the quorum decisive for correct synchronisation.
Is it true? I got it from the blog Setting up Galera Arbitrator - Percona XtraDB Cluster
and the second part (asynchronous replication between DCs)
How quick the replication is? I mean what delay I can expect?
Thank you, Josef
Hello, Galera arbitrator can help if you set it on a third separate site or DC. For asynchronous replication usually there is no delay unless you have long running transactions. In this case you’d need to keep writes in one main cluster and consider the other the DR cluster which can take only reads.
Thank you, Ivan, You answered all my questions!