In the master-slave architecture, slaves provide replicated services to the master, and the master selects a particular result among slaves by certain selection strategies. The slaves may perform the same functional task by different algorithms and methods or by a totally different functionality.
Master-slave architecture is used for the software system where reliability is critical. This is due to the replication (redundancy) of servers.
It should be noted that in database schema design, the terms master-slave or parent-child are employed to specify the dependency of one entity on another. If the master node is deleted then the slave node has reason to stay. This concept does not apply to the discussion here.
Is it correct that there are two or more different meanings of the term "master-slave" or "master-worker"?
- Why does the concept of "master-slave" in "in database schema design" "does not apply to the discussion" in software architecture?
In database schema design, what do the following mean:
"the dependency of one entity on another"
"If the master node is deleted then the slave node has reason to stay"?
- In the software architecture of master-slave, "if the master node is deleted then the slave node has reason to stay", does the slave node has no reason to stay?
Also in distributed systems with data replications, is the concept of "leader and follower" the same as "master and slave" in software architecture?
In database replication, the master database is regarded as the authoritative source, and the slave databases are synchronized to it.