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
0
votes
2 answers

Delay feauture of RabbitMQ is not working

I am using RabbitMQ in spring boot for sending messages over microservices. I need to set up delay option for every message. This case I used MessageProperties file with Message and It likes this. MessageProperties properties = new…
0
votes
0 answers

I changed disk limit of rabbitmq and now can't restart it.

I am very new to rabbitMQ. I get getting disk limit full error so I thought of changing the disk limit. I executed following command in sequence: #1. rabbitmqctl set_disk_free_limit 1GB #2. sudo systemctl stop rabbitmq-server.service #3. sudo…
Sunny Jain
  • 25
  • 1
  • 5
0
votes
0 answers

how to implement rabbitmq in nodejs

Error : TypeError: Cannot read property 'createChannel' of undefined > Blockquote Blockquote var amqp = require('amqplib/callback_api'); amqp.connect('amqp://localhost', function(err, conn) { …
0
votes
1 answer

Choosing RabbitMq Exchange Type for Request Reponse Model

We are in the process of migrating the existing architecture to queue based architecture. Our system contains one centralized server connected to 300+ KIOSK systems where the data synchronization is done to sql based CRUD operation. We decided to…
Raajkumar
  • 857
  • 2
  • 13
  • 26
0
votes
1 answer

Default rabbitmq exchange type

As per my understanding RabbitMQ server by default creates exchange of type Direct i.e If I create exchange without providing any type it will create exchange of type Direct.Is there any way by which I can change default behavior i.e default…
user4235401
0
votes
1 answer

How to reset Delay exchange rabbimq if it's already exist

I am trying to check if current exchange exists or not, if it exists I want to deleted and create again. When I do not use try catch and try to delete not existed exchange I lost connection and get an error, how to create an index if does not exist…
0
votes
1 answer

Delay message rabbitmq on nodejs

I'm trying to add some functionality for rabbitmq with delay messages. Actually I need to get this message after 2 weeks. As I know we do not need any plugin. Also when this message invokes, how should I reschedule new x delay exchanger to invoke…
0
votes
0 answers

Disable http Trace method in RabbitMq

I want to block/disable HTTP TRACE method on RabbitMq. Basically, what I want is, when we hit RabbitMQ HTTP port like below, it should say, "HTTP/1.1 405 Method Not Allowed" for TRACE method. $curl -v -X TRACE http://server-name:15672
Abhijit Patil
  • 136
  • 1
  • 4
0
votes
1 answer

curl send JSON payload

I'm just strating with RabbitMQ and I try to send a json payload to it. Unfortunately I'm getting error: {"error":"bad_request","reason":"payload_not_string"} I read somewhere that I need to use "content_type": "application/json" but that has not…
MMT
  • 1,931
  • 3
  • 19
  • 35
0
votes
0 answers

RPC, Data Synchronization and RabbitMQ

I need to do some Data Synchronization between a client and a server. I have decided to use RabbitMQ for Data Synchronization, in order for my program to be tolerant for network failure. I know how to use RabbitMQ, so no problem there. All data…
Jens Borrisholt
  • 6,174
  • 1
  • 33
  • 67
0
votes
0 answers

Rabbit MQ publisher sends message but subscriber unable to triggers

I am new to rabbit mq. I have implemented publisher and subscriber method to push and read the message. I am not able to read the messages which are already pushed into the queue. For example, my subscriber project is down and the publisher…
Karthikeyan
  • 299
  • 1
  • 10
  • 25
0
votes
1 answer

Configuring RabbitMQ consumer as windows service

I am looking in for the best way to implement the RabbitMQ consumer by using .Net Client which should be run as windows service. I referred the RabbitMQ documentation and found the way to consume messages by using .Net client…
Vinoth
  • 79
  • 2
  • 11
0
votes
1 answer

RabbitMQ Mirrored Queues on Multiple Clusters

Is it possible to use RabbitMQ HA using multiple(2) RabbitMQ clusters? Here is my requirement: We have 2 RabbitMQ clusters (each with 4 nodes). All the nodes in both the clusters will be using same Erlang cookie. So that, even though these 2…
abhdeb
  • 101
  • 1
  • 7
0
votes
2 answers

RabbitMQ retry logic on fanout exchange

Current system arch around RabbitMQ We have a cluster of queues and exchanges to support a message. Main exchange: This is where messages are received from message producers for processing the first time. This can be a topic or fanout (Current…
pennstatephil
  • 1,593
  • 3
  • 22
  • 43
0
votes
1 answer

RabbitMQ Machine Restart all exchanges, queues, virtual host are gone

We have a vulnerability patch applied to our QA box yesterday and machine was restarted. This meant the RabbitMQ Server, and service was also down. When we started the service this morning, and I logged it. It lost all the existing exchanges,…
Gaurav Sharma
  • 586
  • 3
  • 10