RabbitMQ Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

RabbitMQ

Brokers provide 4 exchange types:

A

Direct (the default), Fanout, Topic, and Headers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

RabbitMQ

What command is used to create an exchange?

A

exchange.declare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

RabbitMQ

What is the AMQP model?

A

Messages are published to exchanges (aka mailboxes).

Exchanges then distribute message copies to queues using rules called bindings.

Then AMQP brokers either push messages to consumers subscribed to queues, or consumers pull messages from queues on demand.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

RabbitMQ

When will a broker completely remove a message from a queue?

A

Immediately after it has been delivered OR if message acknowledgements are in use, when it receives a notification for that message (or group of messages)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

RabbitMQ

What happens when a message cannot be routed?

A

Messages may be returned to publishers, dropped, or placed into a “dead letter queue”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

RabbitMQ

In AMQP 0-9-1, messages are load balanced between what?

A

consumers — not between queues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

RabbitMQ

What is a Fanout Exchange?

A

A fanout exchange routes messages to all of the queues that are bound to it and the routing key is ignored.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

RabbitMQ

What is a Topic Exchange?

A

Topic exchanges route to queues whose binding pattern matches the message’s routing key. Topic exchanges have a very broad set of use cases including various publish/subscribe pattern variations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

RabbitMQ

What do special characters “*” and “#” do when used in bindings?

A

“*” can substitute for exactly one word.

“#” can substitute for zero or more words.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

RabbitMQ

What is a Headers Exchange?

A

A headers exchange is routes on message headers rather than a routing key.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

RabbitMQ

What command is used to create an queue?

A

queue.declare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

RabbitMQ

Queues that are not durable are called ____

A

transient

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

RabbitMQ

Queues that are not transient are called ____

A

durable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

RabbitMQ

Are messages of a durable queue durable messages?

A

No, only persistent messages are recoverable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

RabbitMQ

What are Bindings?

A

Bindings are rules (with an optional routing key) that exchanges use to route messages to queues.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

RabbitMQ

What is a good Binding analogy?

A

Queue is like your destination in New York city.

Exchange is like JFK airport.

Bindings are routes from JFK to your destination. There can be zero or many ways to reach it.

17
Q

RabbitMQ

Why would a message not be routed to a queue?

A

Because there are no (matching) bindings for the exchange it was published to.

18
Q

RabbitMQ

How can consumers receive messages?

A

Push or pull

19
Q

RabbitMQ

What is a Channel?

A

A group of lightweight connections that share a single TCP connection.

20
Q

RabbitMQ

What are Virtual hosts (vhosts)?

A

vhosts are completely isolated environments in which AMQP entities live.