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?