mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
36 lines
1.3 KiB
ReStructuredText
36 lines
1.3 KiB
ReStructuredText
================
|
|
Network Topology
|
|
================
|
|
|
|
Salt is based on a powerful, asynchronous, network topology using ZeroMQ. Many
|
|
ZeroMQ systems are in place to enable communication. The central idea is to
|
|
have the fastest communication possible.
|
|
|
|
Servers
|
|
=======
|
|
|
|
The Salt Master runs 2 network services. First is the ZeroMQ PUB system. This
|
|
service by default runs on port ``4505`` and can be configured via the
|
|
``publish_port`` option in the master configuration.
|
|
|
|
Second is the ZeroMQ REP system. This is a separate interface used for all
|
|
bi-directional communication with minions. By default this system binds to
|
|
port ``4506`` and can be configured via the ``ret_port`` option in the master.
|
|
|
|
PUB/SUB
|
|
=======
|
|
|
|
The commands sent out via the salt client are broadcast out to the minions via
|
|
ZeroMQ PUB/SUB. This is done by allowing the minions to maintain a connection
|
|
back to the Salt Master and then all connections are informed to download the
|
|
command data at once. The command data is kept extremely small (usually less
|
|
than 1K) so it is not a burden on the network.
|
|
|
|
Return
|
|
======
|
|
|
|
The PUB/SUB system is a one way communication, so once a publish is sent out
|
|
the PUB interface on the master has no further communication with the minion.
|
|
The minion, after running the command, then sends the command's return data
|
|
back to the master via the ``ret_port``.
|