I am engaged in one startup in which we use radishes, now the question of building a fault-tolerant database cluster has come close.
As is known, radish currently supports only master-slave replication. It is necessary that if a master falls, one of the slaves would take the function of a master. For this purpose, I found the following solution: github.com/fictorial/redis-cluster-monitor. When the master crashes, this monitor selects a new master and sends a synchronization signal with it to the other servers. The task is to notify the front-end that the master server has changed. I'm going to finish monitoring so that she also sent notifications and frontends. The master server address will probably be stored locally in the file.
How correct is this approach? Who had the experience of building such systems, as usual, what are the pitfalls?
I did not see ready clustering solutions. We use master-master (within one node) and faylover at the frontend level.
and on the gethab on the wiki is clearly written:
Comment by project member antirez, Dec 12, 2009
@keepwatch: it is not necessary to have a setup where you can make it. is the address redundancy and fault tolerance via the “redis-cluster” project that uses another design not based on replication.
And the radish cluster is still at the design stage. - azin