|
|
|
|
|
by _never_k
2199 days ago
|
|
The terminology of master/slave architecture is a direct reference to the working relationships between people on an antebellum plantation. Names should help you understand what things do, and those names do. We also have node that elect leaders, nodes that get fenced, nodes with parents and children, etc... The terminology of our software architecture, and of our software in general, mirrors that of the real world relationships that they model, reference, or are inspired by. That's a good thing. It helps us understand these systems. It's also true that if this terminology references something we don't like in the real world, we're free to change it. After all, master/slave architecture isn't a perfect modeling of a plantation, it's substantially abstract from that. There are many other relationships in the real world which could be used to describe this architecture. Terminology is effective when it's stable, so we should be conservative about changing it, but that doesn't mean we should never change it. |
|