RabbitMQ articles

RabbitMQ and time-to-live

In RabbitMQ we can use temporary messages and queues. We can create a queue which is automatically deleted within some time of inactivity.

Continue Reading β†’

Priorities in RabbitMQ

Sometimes messages are not equal between them. Some are more prioritized than the others and they should be handled first. RabbitMQ implements also a feature to deal with the problems of priorities.

Continue Reading β†’

Reply queue as Remote Procedure Call pattern in RabbitMQ

RabbitMQ is not only one-direction system. Queues can communicate between them, just as two people talk together.

Continue Reading β†’

Prefetch in RabbitMQ

Sometimes consumers can be overloaded by the number of messages to handle. RabbitMQ helps to control this number with the parameter called prefetch.

Continue Reading β†’

Flags in RabbitMQ

RabbitMQ Java API brings a lot of methods called the same but accepting different parameters. Very often, these parameters are flags which can apply as well on messages, as on exchanges level.

Continue Reading β†’

Transactions latency and publisher confirms

It's not a surprise, transactions slow down RabbitMQ performances. It's the reason why a suggested way to manage guaranteed delivery is publisher confirms concept.

Continue Reading β†’

Transactions in RabbitMQ

At the first look, transactions appears as an element strictly related to databases. However, we retrieve them also in messaging.

Continue Reading β†’

Dead letter exchanges in RabbitMQ

Messaging reserves surprises, especially when things go bad. It can occur when, for example, message time to live is exceeded or when there are no more space in the queue to handle new messages. To avoid messages loosing, a special kind of exchange, dead-letter exchange, exists in RabbitMQ.

Continue Reading β†’

Persistence in RabbitMQ

Persistence is an important part of RabbitMQ configuration. Nobody would like to lose key business messages because of temporary power loss or human manipulation error.

Continue Reading β†’

Exchanges in RabbitMQ

Exchanges are key element in RabbitMQ messages transmission. Every message is firstly routed to these exchanges and only after it's dispatched to appropriate queues. A queue can't be declared without associated exchange.

Continue Reading β†’

Key concepts of RabbitMQ

RabbitMQ doesn't introduce very much new concepts to Entreprise Integration Patterns. However, it's good to know how it defines them before starting to write code.

Continue Reading β†’