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.
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...
[2]: https://github.com/openark/orchestrator
[3]: https://github.com/zalando/patroni