An mq server is the part of a message queue that handles the actual messaging process. It coordinates messages to their destinations.
It is always listening for connections to producers and consumers.
It is always listening to receive and send out messages.
A message queue can have multiple parts.
It can be comprised of a database, a UI, a CLI, a server, among other tools.
The mq server provides the UI with data to render.
The UI and CLI can make changes to the server.
The server coordinates the database.
For example, the server moves messages to the dead letter queue when they’ve become poison messages.
When you launch a message queue, it is actually its mq server that you’ve started.
Likewise, in case of an instance restart of a given message broker, it is the mq server that got restarted.
The mq server comprises components that take part in messaging:
- A connection component for connecting to producers and consumers.
- Monitoring component for keeping track of connections and messages.
- Routing component for transmitting messages to the appropriate destinations.
- Persistence component for preventing message loss.
- Authentication component for ensuring that the right application is accessing the broker.
These are logical units that one can find within the codebase of a message broker.
You can find less or more of them depending on the message broker being studied.
The sure thing is that the mq server is the abstraction that governs the activities of a message broker.