rabbitmq overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · amqp basics •...
TRANSCRIPT
![Page 2: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/2.jpg)
Agenda
• AMQP in 3 minutes
• RabbitMQ architecture
• Availability, Clustering, Federation
• Durability, Persistence, Memory usage
• Security
• Operational Tools
• Ongoing work
Wednesday, 19 August 2009
![Page 3: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/3.jpg)
AMQP
Wednesday, 19 August 2009
![Page 4: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/4.jpg)
AMQP Basics
• Exchanges perform relaying, copying, and filtering
• Queues perform buffering and round-robin delivery
X
PC
X
P
C
C
(0-9-1)
Wednesday, 19 August 2009
![Page 5: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/5.jpg)
AMQP Basics
ExchangesX
QueuesQ
bind to
(0-9-1)
App
App
Producers
Consumers
publish to
deliver to
Wednesday, 19 August 2009
![Page 6: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/6.jpg)
PubSub
• AMQP exchange used as the destination copies to multiple queues
• Per-consumer private queues receive topical messages
XP
C
C
Wednesday, 19 August 2009
![Page 7: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/7.jpg)
Queueing
• Using the default exchange (“”) routes directly to queues
• Both shared and private queues can be addressed like this
PC
C
Wednesday, 19 August 2009
![Page 8: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/8.jpg)
Simple load-balancing
• Shared queue mediates access to service instances
• Load-balancing, live upgrades, fault-tolerance
Request Queue
(Private)ReplyQueue
Wednesday, 19 August 2009
![Page 9: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/9.jpg)
RabbitMQ
Wednesday, 19 August 2009
![Page 10: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/10.jpg)
Code Overview
(out of date numbers! it’s ~7500 LoC now, mid 2009)
Wednesday, 19 August 2009
![Page 11: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/11.jpg)
Concurrency
Wednesday, 19 August 2009
![Page 12: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/12.jpg)
Order Preservation
Wednesday, 19 August 2009
![Page 13: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/13.jpg)
Clustering
Wednesday, 19 August 2009
![Page 14: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/14.jpg)
Clustering
Erlang Node
Message Store
Physical Machine
Listening Socket
Virtual Host
Erlang’s inter-nodemessage routing
Wednesday, 19 August 2009
![Page 15: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/15.jpg)
Connectivity
Wednesday, 19 August 2009
![Page 16: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/16.jpg)
Availability,Clustering,Federation
Wednesday, 19 August 2009
![Page 17: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/17.jpg)
Failover
• Split “availability” into
• Service availability: a broker’s ready when you need one
• Data availability: your persisted messages survive failures
• Short outage during failover; non-ack’d messages will need to be retransmitted
• Need better? Use redundant data paths
Wednesday, 19 August 2009
![Page 18: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/18.jpg)
Failover
• Off-the-shelf components:
• Networked fsync()able filesystem
• Failure monitor: Linux-HA, ping + virtual ethernet, ...
Wednesday, 19 August 2009
![Page 19: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/19.jpg)
FailoverC
X X
P
SAN
PrimaryWarm standby
mnesia + message journal
Wednesday, 19 August 2009
![Page 20: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/20.jpg)
Redundancy for HA
X
P
C
X X
P
C
XOne broker,
two nodes each
Two brokers,
one node each
Wednesday, 19 August 2009
![Page 21: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/21.jpg)
Exactly-Once Delivery
• “guaranteed delivery”, even with intermittent links
• “auto-deduplication”
Broker
Client
Client
Wednesday, 19 August 2009
![Page 22: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/22.jpg)
Paul Baran’s NetworksPaul Baran, Introduction to Distributed Communications Networks, 1964
Wednesday, 19 August 2009
![Page 23: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/23.jpg)
Clustering
Wednesday, 19 August 2009
![Page 24: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/24.jpg)
WAN ClusterThe WAN cluster has local queues but global exchanges
Apps decide which broker-cluster to publish to
Wednesday, 19 August 2009
![Page 25: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/25.jpg)
SynchronisationWhen clustering might not be right:
• huge networks
• intermittent connectivity
• ruling bandwidth with an iron fist
• different administrative domains
Wednesday, 19 August 2009
![Page 26: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/26.jpg)
Synchronisation
Wednesday, 19 August 2009
![Page 27: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/27.jpg)
Ring
Pass it on to your neighbour if your neighbour’s name isn’t in the list yet
Wednesday, 19 August 2009
![Page 28: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/28.jpg)
CompleteGraph
Pass it on to your neighbour if it hasn’t been labelled at all yet
Wednesday, 19 August 2009
![Page 29: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/29.jpg)
Multicast
Pass it on to your neighbour if it hasn’t been labelled at all yet
Wednesday, 19 August 2009
![Page 30: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/30.jpg)
Durability, Persistence & Memory Usage
Wednesday, 19 August 2009
![Page 31: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/31.jpg)
Terminology
• Durable: resource (exchange, queue, binding) that survives broker restart
• Persistent: message that survives broker restart
• Durability and persistence required for robust storage at the broker
Wednesday, 19 August 2009
![Page 32: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/32.jpg)
Persister: Old
• Old persister slows down dramatically once a backlog builds up
• Old persister uses disk as a backup only: still limited by RAM + swap
• Once swap runs out, it’s all over
Wednesday, 19 August 2009
![Page 33: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/33.jpg)
Persister: New
• New persister doesn’t slow down with backlog
• New persister doesn’t overflow RAM(but does make good use of the RAM you have installed!)
• Automatic or manual decision when to switch to disk and then disk-only mode
• Carefully tuned to give good default behaviour
Wednesday, 19 August 2009
![Page 34: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/34.jpg)
32B, Backlog 5,000
Wednesday, 19 August 2009
![Page 35: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/35.jpg)
32B, Backlog 10,000
Wednesday, 19 August 2009
![Page 36: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/36.jpg)
32B, Backlog 20,000
Wednesday, 19 August 2009
![Page 37: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/37.jpg)
32B, Backlog 40,000
Wednesday, 19 August 2009
![Page 38: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/38.jpg)
32B, Backlog 80,000
Wednesday, 19 August 2009
![Page 39: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/39.jpg)
1MB, Backlog 125
Wednesday, 19 August 2009
![Page 40: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/40.jpg)
1MB, Backlog 250
Wednesday, 19 August 2009
![Page 41: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/41.jpg)
1MB, Backlog 500
Wednesday, 19 August 2009
![Page 42: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/42.jpg)
1MB, Backlog 1,000
Wednesday, 19 August 2009
![Page 43: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/43.jpg)
1MB, Backlog 2,000
Wednesday, 19 August 2009
![Page 44: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/44.jpg)
1MB, Backlog 4,000
Wednesday, 19 August 2009
![Page 45: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/45.jpg)
Persister: Summary
• Fast (slower than old persister, but still fast)
• Scales to fill your disks without filling RAM
• In QA at the moment; will land for 1.7
Wednesday, 19 August 2009
![Page 46: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/46.jpg)
Security
Wednesday, 19 August 2009
![Page 47: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/47.jpg)
Resource ACLs
• Users are granted access to each vhost
• Each user has three regular expressions:
• for Administrative actions (create, delete)
• for Reading (bind from exch, consume from queue)
• for Writing (publish to exch, bind to queue)
Wednesday, 19 August 2009
![Page 48: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/48.jpg)
Encryption, PKI
• Securing the Transport
• stunnel4
• native SSL support in final QA
• Securing the Messages
• key directory + per-message encryption and signing
Wednesday, 19 August 2009
![Page 49: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/49.jpg)
Operational Tools
Wednesday, 19 August 2009
![Page 50: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/50.jpg)
rabbitmqctl
Wednesday, 19 August 2009
![Page 51: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/51.jpg)
BDL
Wednesday, 19 August 2009
![Page 52: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/52.jpg)
Munin plugins
Wednesday, 19 August 2009
![Page 53: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/53.jpg)
RESTful APIs: TrixxGET http://localhost:8080/exchanges/:vhostPOST http://localhost:8080/exchangesGET http://localhost:8080/queues/:vhostPOST http://localhost:8080/queuesGET http://localhost:8080/bindings/:vhostGET http://localhost:8080/vhostsPOST http://localhost:8080/vhostsGET http://localhost:8080/connectionsGET http://localhost:8080/users/:user/permissions
GET http://localhost:8080/usersPUT http://localhost:8080/users
POST http://localhost:8080/users
DELETE http://localhost:8080/users/:user
GET http://localhost:8080/rabbit/statusPUT http://localhost:8080/rabbit/startPUT http://localhost:8080/rabbit/stopPUT http://localhost:8080/rabbit/reset
POST http://localhost:8080/sessions/authenticate
Wednesday, 19 August 2009
![Page 54: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/54.jpg)
RESTful APIs: Alice /conn - Current connection information /exchanges - Current exchanges information /queues - Current queues /users - Current users /bindings - Current bindings /control - Access to the RabbitMQ control /permissions - Current permissions /vhosts - Current vhosts
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
auser $ curl -i -XPOST \ -d'{"username":"ari", "password":"weak password"}' \ http://localhost:9999/users HTTP/1.1 200 OKServer: MochiWeb/1.0 (Any of you quaids got a smint?)Date: Thu, 16 Jul 2009 00:10:35 GMTContent-Type: text/jsonContent-Length: 25
{"users":["ari","guest"]}
Wednesday, 19 August 2009
![Page 55: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/55.jpg)
Web UIs: Trixx
Wednesday, 19 August 2009
![Page 56: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/56.jpg)
Web UIs: Wonderland
Wednesday, 19 August 2009
![Page 57: RabbitMQ Overviewtech.labs.oliverwyman.com/downloads/dev.lshift.net/... · AMQP Basics • Exchanges perform relaying, copying, and filtering • Queues perform buffering and round-robin](https://reader033.vdocuments.net/reader033/viewer/2022050305/5f6e2037f08ca40122330fd3/html5/thumbnails/57.jpg)
Other ongoing projects• Management
• SNMP
• JMX, HermesJMS
• Presence, meta-events
• AMQP Protocol extensions for management
• Gateways, federation
• RabbitHub (HTTP)
• Multicast
• XMPP, JMS bridges
• AMQP Protocol extensions for generalised gatewaying
Wednesday, 19 August 2009