Designing redundant architectures
Galera Cluster is fantastic for getting as many master or slave nodes as possible. However, if you have a high traffic, you can dedicate some nodes as read only as well.
Read and write nodes
The problem of having dedicated nodes for read purposes is the time taken to synchronize all nodes. The more Galera nodes you have, the more you need time to replicate data. Even if it's super fast, this is to be expected.
So what kinds of solutions exist? You can mix classical/GTID replication and Galera Cluster. This way, you can dedicate as many read servers as you want connected to a Galera node to get a very fast read access. Also, you can have a Galera Cluster to get a fast and redundant write cluster. In that case, you do not have SPOF. Here is an example of kind of infrastructure:
Load balanced architecture
In the previous chapters, we saw how to load balance on several MariaDB slave nodes with HAProxy, and it works pretty well. Also, HAProxy knows how to speak with...