The master–slave architectural pattern is used to improve system reliability and performance by dividing work between the master and slave components. Each component has distinct responsibilities. All slave components have identical or at least similar work, and that work must be defined prior to runtime. This pattern is not a divide-and-conquer approach to architecture; rather, it is one where the slaves' work is predefined and must be coordinated. The goal of the master–slave architectural pattern is to improve software efficiency.
The following diagram provides an overview of how the master–slave architectural pattern works. There are one or more Clients that can submit requests or initiate events with the Master:
The master performs the following functions:
- Maintains a list...