Glossary · Automation software engineering and architecture
Message queue
Also known as: MQ
German: Nachrichtenwarteschlange
In software architecture, a message queue is a buffer that stores messages from senders until receivers retrieve them, decoupling the two in time and usually delivering messages in order.
- Software engineering
In one sentence
A message queue buffers messages from senders until receivers fetch them, decoupling both in time and usually preserving order.
Example
The line controller writes each finished part record into a message queue, and the MES interface service reads the queue when the network to the MES is available.
How it applies
- Engineering: Queues let fast and slow components work together and survive short outages of a receiver. Designers define queue length, what happens when the queue is full, and whether messages persist across a restart.
- Operation: A growing queue is an early sign that a consumer is too slow or has stopped; queue depth is a standard metric for Observability.
- Documentation: Interface documentation should state delivery guarantees (at most once, at least once), ordering and the behavior on overflow, because integrators design their error handling around them.
Message queue vs. publish-subscribe
In a classic message queue each message is consumed by one receiver. In the Publish-subscribe pattern each message is delivered to every subscriber of a topic. Many brokers support both styles.