RabbitMQ - FMDevelopers
Download
Report
Transcript RabbitMQ - FMDevelopers
RabbitMQ: Messaging
Awesomeness
By Dave Gorman
Easier scaling to cloud
◦ Subscribers to queue can be on different servers;
decoupling application into processing units
◦ Some messages will need more processing power
than other messages
◦ Volume of some messages will be much different
(1000 decrement balance messages, 2 change of
address messages)
When designed for messaging:
◦ Faster processing
◦ Easier to code and test
Why Messaging
Pros
◦ Out of process and durable
◦ Accessible by many technologies
◦ Good visibility to processing bottlenecks
select count(*) from messages
Cons
◦ Not designed for FIFO processing, slower
◦ Need to poll a table to say “any records yet”
◦ Have to make sure only one message per
subscriber
Using DBs for Messaging
MSMQ only for windows
JMS only for java
3rd party enterprise messaging $$$
Messaging Frustration
Designed to interoperate with other messaging systems
◦ Leading impl of Advanced Message Queuing Protocol
◦ AMQP standards body with companies like:
JPMorgan
Cisco
Goldman Sachs
Proven Platform
◦ Written on top of Erlang’s OTP (Open Telecom Platform)
Used in telecom for many years to insure uptime
Rated at nine nines (99.9999999%)
Written to scale out
Supported Clients:
Supported Server Platforms:
◦ .Net, Java, Ruby, Python, PHP, Perl, JS…
◦ Windows, Linux (including EC2), Mac OS X
RabbitMQ and AMQP
<demo basic>
Example
RabbitMQ Styles
<demo with c# and java>
Example 2
RabbitMQ Arch
100% Open Source
◦ Not a couple dudes in their garage open
source.. Owned by Spring Source and VMWare
Commercial Services available
Current version is 2.1 (9/25/2010) and
releasing often
Thriving community
About RabbitMQ
http://www.rabbitmq.com
http://www.amqp.org
Dave Gorman
[email protected]
Questions?