MQ admin notes

The design is resilient

The design is reasonably secure

Admin tools

Sample .rabbitmqadmin.conf:

[rainier]
hostname = rainier.debian.org
port = 15671
username = admin
password = XXX
ssl = True
ssl_ca_cert_file = /etc/ssl/debian/certs/ca.crt

[rapoport]
hostname = rapoport.debian.org
port = 15671
username = admin
password = XX
ssl = True
ssl_ca_cert_file = /etc/ssl/debian/certs/ca.crt

A word about terminology:

pubsub messaging involves a sender and a receiver.

The sender connects to an exchange, and publishes a message. The sender may or may not create the exchange during the course of that action. During message sending, the sender declares a topic for the message.

Topics are just '.' separated strings, eg dsa.git.mail, ftpteam.package.upload.clamav, etc. They allow for two types of wildcards. dsa.git.* matches any single git repo but not dsa.git.mail.commit. #.clamav match anything ending in clamav, no matter how many separators.

The receiver connects to a queue, binds it to an exchange with a topic binding for a specific topic, and waits for a message. If a message submitted to the exchange matches the topic, it is routed to the receiver queue, and the receiver gets it.

The tcp connection from a client to the MQ server is called a channel. The protocol layer on top of the TCP connection is called a connection (I know, good, right?). The connection between a queue and an exchange is called a binding.


Sun, 26 Jan 2014 17:24:28 +0000