We already discussed a lot of details about how the message broker works. We discussed that RabbitMQ instances are Erlang applications that communicate with each other by means of Erlang message passing with the help of a shared Erlang cookie that is used to allow communication between endpoints. As every system that provides a server and one or more clients for different platforms, we could easily guess that before an AMQP message is sent to the broker, an AMQP client opens a TCP socket using the utilities that are provided by the particular programming language in which it writes the AMQP data. The most interesting part is what happens when the message arrives at the message broker. Once the message broker receives the AMQP message, it needs to parse and process it, accordingly. If we take a closer look at what the rabbitmq-server
script executes, we will notice that several actions take place, as follows:
The
start
method from therabbit_prelaunch
module...