Questions tagged [rabbitmq-exchange]

In RabbitMQ, messages are not published directly to a queue. Instead, the producer sends messages to an exchange. Use this tag only if your question is about the RabbitMQ Exchanges, or if the question revolves around the routing keys or message queues to which the exchange delivers the message for end publishing.

RabbitMQ is a message broker based on the AMPQ protocol.

Exchanges are AMQP entities where messages are sent. Exchanges take a message and route it into zero or more queues. The routing algorithm used depends on the exchange type and rules called bindings. AMQP 0-9-1 brokers provide four exchange types:

  • Direct exchange: (empty string) and amq.direct
  • Fanout exchange: amq.fanout
  • Topic exchange: amq.topic
  • Headers exchange: amq.match (and amq.headers in RabbitMQ)

Besides the exchange type, exchanges are declared with a number of attributes, the most important of which are:

  • Name
  • Durability (exchanges survive broker restart)
  • Auto-delete (exchange is deleted when all queues have finished using it)
  • Arguments (these are broker-dependent)

Exchanges can be durable or transient. Durable exchanges survive broker restart, whereas transient exchanges do not (they have to be redeclared when the broker comes back online). Not all scenarios and use cases require exchanges to be durable.

RabbitMQ is open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages.

419 questions
2
votes
1 answer

What kind of data structure message in disk when RabbitMQ store with persistent mode?

I'm using Rabbitmq docker images with version: rabbitmq:3-management. docker run -d --hostname my-rabbit --name ecomm-rabbit -p 15672:15672 -p 5672:5672 rabbitmq:3-management And I'm curious about the way it stores msg in the queue (in case of…
Nguyễn Văn Phong
  • 13,506
  • 17
  • 39
  • 56
2
votes
0 answers

Maximum RabbitMQ Prefetch count

RabbitMQ 3.8.7 Erlang 23.0.2 I am using a Java client in order to configure my RabbitMQ queue. While trying to set up the Prefetch count using channel.basicQos API to 132,000, it seems in the "consumers" section in the RabbitMQ GUI it is always set…
Roy Leibovitz
  • 579
  • 5
  • 16
2
votes
0 answers

Auto delete Rabbit MQ queues after x period of time

is there any option to auto delete Rabbit MQ queues after x period of time in RabbitMQ console as it is using a lot of space in Windows server 2016 (in my case it took more than 15GB of disk space for more than 400…
Sunil Kumar
  • 73
  • 1
  • 1
  • 8
2
votes
2 answers

How to configure RabbitMQ shovel?

I have 2 RabbitMQ clusters in separate datacenters. At this moment i need to shovel one of the exchanges from an one rabbit to the other. How can i achieve it?
2
votes
1 answer

RabbitMQ Messages not getting sent to dead letter after first time

We've got our queues configured to send dead letter messages (nack'ed messages specifically) to a dead letter exchange that routes them by their original topic to individual dead letter queues. This all works great and when messages are nack'ed…
Kenny Loveall
  • 519
  • 4
  • 16
2
votes
1 answer

Is there way to bind queue to default exchange explicitly in RabbitMQ?

I made a mistake: now both of two queues are explicitly bound to some exchange, which i can edit for every queue. One of those queues must be bound to default exchange. Now when i try to change exchange of that queue to empty string, it throws an…
Andrey
  • 63
  • 2
  • 9
2
votes
1 answer

RabbitMQ - Move messages before deleting a queue

Using RabbitMQ 3.7.16, with spring-amqp 2.2.3.RELEASE. Multiple clients publish messages to the DataExchange topic exchange in our RabbitMQ server, using a unique routing key. In the absence of any bindings, the exchange will route all the messaged…
2
votes
1 answer

Get list of all declared exchanges on a RabbitMQ server with C#

I'm implementing a RabbitMQ adapter. The idea is to show in another system a list of already declared exchanges. So i have a C# adapter class, within it i want to implement the logic that will retrieve all exchanges declared on a server and then…
1gentlemann
  • 164
  • 1
  • 3
  • 14
2
votes
0 answers

The host was not found for the specified address of MessageBus in Kubernetes

I am working on one green field project using of containerized(Docker) Micro Service Architecture and each Micro Service is host in Kubernetes. Sometimes, Based on the requirement, Need to communicate one service(MicroService_2) to another…
2
votes
1 answer

How to authenticate rabbitmq in nodejs?

Error: Handshake terminated by server: 403 (ACCESS-REFUSED) with message "ACCESS_REFUSED - Login was refused using authen tication mechanism PLAIN. For details see the broker logfile." I tried authMechanism individually ('PLAIN', 'AMQPLAIN',…
2
votes
2 answers

NserviceBus 6 use RabbitMQTransport not working

We are using NSB v6.4.3, NServiceBus.RabbitMQ v4.4.1, RabbitMQ.Client v5.0.1. My Queues are created automatically, but I received this error and soon as I send a message to my queue. "title": "Channel has been closed: AMQP close-reason, initiated by…
2
votes
2 answers

Is it possible to buffer messages in exchange until at least one queue is available?

I'm looking for a way to buffer messages received by the exchange as long as there is at least one queue bind to that exchange. Is it supported by RabbitMQ? Maybe there are some workarounds (I didn't find any). EDIT My use case: I've got one data…
jmarceli
  • 19,102
  • 6
  • 69
  • 67
2
votes
0 answers

RabbitMQ broker topic and messages list

I have created a MQTT topic from Python client on the RabbitMQ broker installed in localhost . I am publishing few messages in this topic and able to see those in MQTTLens Chrome plug-in also from the Subscriber written in Python. Where to see the…
JavaUser
  • 25,542
  • 46
  • 113
  • 139
2
votes
0 answers

Does RabbitMQ support multi consumers(one application on different nodes) receiving same message?

I have tried to search my question for several days but found no satisfying solutions. So here is my situation: I have an application runs on different nodes, say 3. Each application on each of these 3 nodes needs to consume same messages. How…
Jeff
  • 61
  • 5
2
votes
1 answer

Exception while creating spring Pollable Channel

I created a Pollable Channel in my interface : Channels.java: final String INPUT = "input"; @Input(INPUT) PollableChannel input(); In my service i have : Service.java @Autowired @Qualifier(Channels.INPUT) private PollableChannel…