AMQP & RabbitMQ
The message broker has a loosely coupled architecture, which allows the components of the system to use the name rather than their location/address. This can only be possible because the broker (RabbitMQ) does all the messaging management. It receives the messages produced by the producers/publishers and will deliver them to the consumers or another broker.
In vfOS project, the message broker will use Advanced Message Queuing Protocol (AMQP), that is an open standard that defines a protocol for components to exchange messages. It is a specification that defines the semantics of an interoperable messaging protocol .
In  you can find a comparison between AMQP and other message protocols.
The docker compose uses functionalities that require the Broker to be deployed into a swarm.
Inside the docker-compose folder run the script:
docker stack deploy --compose-file docker-compose.yml rabbitmq
│ node : rabbit@02ee72e2d91d
│ home dir : /var/lib/rabbitmq
│ config file(s) : /etc/rabbitmq/rabbitmq.conf
│ cookie hash : mhyXR2KVaxqoFFCCKR907g==
│ log(s) :
│ database dir : /var/lib/rabbitmq/mnesia/rabbit@02ee72e2d91d
RabbitMQ Info - Through rabbitmqctl plugin
Config File location: /etc/rabbitmq/rabbitmq.conf
List users - shows all registered users and their tags