Fault tolerance with a pair of tightly coupled services
- by cogitor
I have two tightly coupled services that can run on completely different nodes (e.g. ServiceA and ServiceB). If I start up another replicated copy of both these services for backup purposes (ServiceA-2 and ServiceB-2), what would be the best way of setting up a fault tolerant distributed system such that on a fault in any of the tightly coupled services ServiceA or ServiceB the whole communication should go through backup ServiceA-2 and ServiceB-2?
Overall, all the communication should go either through both services or their backup replicas.
|---- Service A
| | Service B
|
| (backup branch - used only on fault in Service A or B)
---- Service A-2
| Service B-2
Note that in case that Service A goes down, data from Service B would be incorrect (and vice versa). Load balancing between the primary and backup branch is also not feasible.