- One master (active but not used for index updates) replicating index form the master on A
- One slave (always active) replicating index from the master on A
I'll write the configs with placeholders for properties for the address of the master server so I can start the slaves with the master on A or on B as the master to replicate from.
When B goes down, nothing happens as the slave on A is still there to serve queries as well as the master to serve update requests.
When A goes down updates will begin to fail but queries will still be served from the slave on B. A restart of B with the until then inactive master as master will bring index update functionality up again.
For simplicity's sake I did not mention any load-balancing or IP address switching stuff. I assume that I have to load-balance the access to the two slaves and make sure that when the master is switched to B that either it assumes the IP address or the clients updating the index need to be changed )the forme probably being simpler).
Now, my questions are:
- Will this work?
- Can this be simplified, i.e. does it make sense to have separate master/slave instances when they are on the same hardware or is it enough or even better to write the config of the slave on B so that it can be restarted in "master mode" based on the same index?