Consumers
Overview
This guide covers various topics related to consumers:
- The basics
- Consumer lifecycle
- How to register a consumer (subscribe, "push API")
- Acknowledgement modes
- Message properties and delivery metadata
- How to limit number of outstanding deliveries with prefetch
- Delivery acknowledgement timeout
- Consumer capacity metric
- How to cancel a consumer
- Consumer exclusivity
- Single active consumer
- Consumer activity
- Consumer priority
- Connection failure recovery
- Exception Handling
- Concurrency Consideration
and more.
Terminology
The term "consumer" means different things in different contexts. In general, in the context of messaging and streaming, a consumer is an application (or application instance) that consumes and acknowledges messages. The same application can also publish messages and thus be a publisher at the same time.
Messaging protocols also have the concept of a lasting subscription for message delivery. Subscription is one term commonly used to describe such entity. Consumer is another. Messaging protocols supported by RabbitMQ use both terms but RabbitMQ documentation tends to prefer the latter.
In this sense a consumer is a subscription for message delivery that has to be registered before deliveries begin and can be cancelled by the application.