140 likes | 527 Views
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
E N D
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: • .Net, Java, Ruby, Python, PHP, Perl, JS… • Supported Server Platforms: • Windows, Linux (including EC2), Mac OS X RabbitMQ and AMQP
<demo basic> Example
<demo with c# and java> Example 2
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 csharp4me@gmail.com Questions?