AMQP is not JMS.
True or False
A: Yes
RabbitMQ is a NoSQL database. True or False
A : False
Q: What is RabbitMQ ?
A:RabbitMQ is an 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.
Q: What is an exchange in RabbitMQ?
A: An exchange accepts messages from the producer application and routes
them to message queues with help of header attributes, bindings, and routing
keys. A binding is a "link" that you set up to bind a queue to an exchange.
Q: What is routing key in RabbitMQ?
A: The routing key is a message attribute. The routing algorithm behind a
direct exchange is simple - a message goes to the queues whose binding key
exactly matches the routing key of the message.
Q: What is Erlang ? Why is it required for RabbitMQ ?
A: Erlang is a general-purpose, concurrent, functional programming language,
as well as a garbage-collected runtime system. The RabbitMQ server is
written in the Erlang programming language and is built on the Open Telecom
Platform framework for clustering and failover. Since RabbitMQ is built on top
of Erlang, we will first need to install Erlang beforing installing RabbitMQ
Q: How to install RabbitMQ?
A:Install RabbitMQ on Windows
Q: How to integrate RabbitMQ with Spring Boot?
A: Spring Boot + RabbitMQ Example
Q: What are the types of exchanges available in RabbitMQ?
A: There are 4 types of exchanges available in RabbitMQ.
Direct - Based on the routing key a message is sent to the binding
queue having the same routing key. The routing key of exchange and
the binding queue have to be an exact match.
Fanout - The message is routed to all the available bounded queues.
The routing key if provided is completely ignored. So this is a kind of
publishe-subscribe design pattern.
Topic - Here again the routing key is made use of. But unlike in direct
exchange type, here the routing key of the exchange and the bound
queues should not necessarily be an exact match. Using regular
expressions like wildcard we can send the exchange to multiple bound
queues.
Headers - In this type of exchange the routing queue is selected based
on the criteria specified in the headers instead of the routing key. This is
similar to topic exchange type, but here we can specify complex criteria
for selecting routing queues.
Q: How to verify RabbitMQ version?
A:
sudo rabbitmqctl status
Q: How to delete all RabbitMQ queues?
A:
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
Q: Does RabbitMQ have any concept of message priority?
A: RabbitMQ does have concept of priority-
We can define the queue's priority range at the time the queue is
created
Messages where priority is not set get a priority of 0
Messages with a numeric priority higher than the maximum set on the
queue get the highest priority the queue supports
Question 6. When Do We Use Dead Letter Exchange In Rabbitmq?
Answer :
If no matching queue can be found for the message, the message will be silently
dropped. RabbitMQ provides an AMQP extension known as the "Dead Letter
Exchange" - the dead letter exchange provides functionality to capture messages
that are not deliverable.
Question 11. What Are Headers Exchange In Rabbitmq?
Answer :
Headers exchange uses message header to route message.
1. Question 13. What Is Routing Key In Rabbitmq?
Answer :
Routing key is a key that exchange looks to find the binding queue.
2. Question 14. What Is Erlang? Why Is It Required For Rabbitmq?
Answer :
Erlang is a general-purpose, concurrent, functional programming language, as well
as a garbage-collected runtime system. The RabbitMQ server is written in the
Erlang programming language and is built on the Open Telecom Platform
framework for clustering and failover. Since RabbitMQ is built on top of Erlang, we
will first need to install Erlang beforing installing RabbitMQ.
Types of Queue:
Durable
Stable
Transient
Non Persistent
A: Durable and Transient
Amqp.thetopic Is a predeclared Exchange? True or False
A: false
Ways to acknowledge the message?
Basic.ack
Basic.acks
Basic.confirm
A : Basic.ack
Messages in the AMQP model have following attributes:
Queue Name
Routing key
Delivery mode (persistent or not)
Message priority
A: Except Queue Name
Default RABBITMQ_NODE_PORT is ___________
A: 5672
Command to list the exchange in rabbitmq:
rabbitmqctl list_exchanges
rabbitmqctl list
rabbitmqctl exchanges
A: rabbitmqctl list_exchanges
All nodes in the cluster must have the same _______.
URL cookie
Erlang Cookie
Cookie
A: Erlang cookie
Federation Types:
Exchanges
Queue
vHost
Bindings
A: Exchanges and Queue
The shovel is good for WAN or LAN ?
A: WAN
Types of Cluster Node:
Disk
RAM
HDD
SAN
A : Disk and RAM
RabbitMQclient needs to specifies a virtual host while
connecting to a server. True or False
A: True
'^$', i.e. matching ___ in RabbitMQ permission
All
Nothing
A: Nothing
err = ch.ExchangeDeclare(
"logs_topic", // name
"topic", // type
true, // durable
false, // auto-deleted
false, // internal
false, // no-wait
nil, // arguments
) - Which exchange type is declare in this Go API –
snippets? _______________
A : Topic