Architecture
The architecture of a Docker Swarm from a 30,000-foot view consists of two main parts—a raft consensus group of an odd number of manager nodes, and a group of worker nodes that communicate with each other over a gossip network, also called the control plane. The following figure illustrates this architecture:
High-level architecture of a Docker Swarm
The manager nodes manage the swarm whilst the worker nodes execute the applications deployed into the swarm. Each manager has a complete copy of the full state of the swarm in its local raft store. Managers communicate with each other in a synchronous way and the raft stores are always in sync.
The workers, on the other hand, communicate with each other asynchronously for scalability reasons. There can be hundreds if not thousands of worker nodes in a swarm. Now that we have a high-level overview of what a Docker Swarm is, let's describe all the individual elements of a Docker Swarm in more detail.