This was often referred to as the master/slave architecture pattern, but because it is not a useful metaphor, some engineers and software companies have adopted replacement terms such as primary/secondary, primary/replica, parent/helper, master/replica or the controller/responder pattern. Most notably, the IEEE has adopted this as a better term for network technology.
Like the client-server architecture pattern, this pattern consists of two components: The controller and the responders. The controller component distributes the input or work among identical responder components and generates a composite result from the results generated from each responder.
The controller is the actual data keeper while the responder replicates data stored in the controller database. Writing data is done only in the controller database, which is read by the responder database. The controller determines the communication priorities of the responder and exerts control
An example of the controller-responder model includes duplication done using cassette tape or compact disc recorders.
Pros:
- Aanalytic applications can be read from the responder component without changing the data content of the controller component.
- The responders can be taken offline and synced back without any time loss.
Cons:
- When a controller fails, all of the data could be lost, and the application may have to be restarted. In these situations, a responder may be promoted to controller, but not without some data and technical deficits.