MariaDB can use something similar called Galera Cluster. Percona also has its own version, called Percona XtraCluster (PXC).
For more traditional MySQL/MariaDB replication typologies, Orchestrator[2] is a great tool.
For postgres, I have heard a lot of good words about Patroni[3], although I never used it myself.
[1]: https://dev.mysql.com/doc/refman/8.0/en/group-replication.ht...
I would appreciate any comments. Specially on the upsides and downsides.
For ring replication to work, it requires all replication sources (aka. "masters") to be online at all times. This never happens in real life, so it is just a matter of time that you get a nasty split-brain. Star replication tries to mitigate this by a crazy setup with replication filters that is painful to maintain and probably will break after some DDL statements.
Moreover, neither of these can handle conflicts. If a row gets updated on different hosts at the same time, you will get broken replication and/or split-brain.
To scale writes, sharding is usually the way to go and Vitess can be handy for that. By the way, MySQL group replication has multi-primary mode that is safer. Galera Cluster/PXC probably has something similar but I am not completely sure.
I noticed in their MIT like license it referred to Microsoft and was confused until I learned they were acquired.
https://github.com/citusdata/pg_auto_failover/blob/master/LI...