The document discusses interoperability issues when different software systems need to communicate and share information. It introduces RabbitMQ and AMQP as solutions to these problems. RabbitMQ is an open-source message broker that allows different programs and systems to communicate across various platforms.
1. Interoperability
with RabbitMQ
by Alvaro Videla
at Shanda Innovation - March 2010
Thursday, March 18, 2010
2. About Me
• Lead Developer at TheNetCircle.com
• Twitter: @old_sound
• Blog: http://obvioushints.blogspot.com/
•
Thursday, March 18, 2010
3. The
Interoperability
Problem
Thursday, March 18, 2010
4. The Problem
Movie
Publisher
Thursday, March 18, 2010
5. The Problem
Movie New
Movie
Publisher
Thursday, March 18, 2010
6. The Problem
Java WebService
XML
Movie New
Movie
Publisher
Thursday, March 18, 2010
7. The Problem
Java WebService
XML
C++ Image
Thumbnail
Generator
Movie New
Movie
Publisher
Thursday, March 18, 2010
8. The Problem
Java WebService
XML
C++ Image
Thumbnail
Generator
Movie New
Movie
Publisher PHP PHP Cache
Generator
Thursday, March 18, 2010
9. The Problem
Java WebService
XML
C++ Image
Thumbnail
Generator
Movie New
Movie
Publisher PHP PHP Cache
Generator
PHP Static
HTML
Publisher
Thursday, March 18, 2010
10. The Problem
Java WebService
XML
C++ Image
Thumbnail
Generator
Movie New
Movie
Publisher PHP PHP Cache
Generator
PHP Static
HTML
Publisher
PHP Trailers
Generator
Thursday, March 18, 2010
11. The Problem SYSTEMS
WebService
XML
Image
Thumbnail
Generator
PHP Cache
Generator
Static
HTML
Publisher
Trailers
Generator
Thursday, March 18, 2010
12. The Problem SYSTEMS
WebService
XML
Written In Different Languages
Image
Thumbnail
Generator
PHP Cache
Generator
Static
HTML
Publisher
Trailers
Generator
Thursday, March 18, 2010
13. The Problem SYSTEMS
WebService
XML
Written In Different Languages
Image
Different Operating Systems Thumbnail
Generator
PHP Cache
Generator
Static
HTML
Publisher
Trailers
Generator
Thursday, March 18, 2010
14. The Problem SYSTEMS
WebService
XML
Written In Different Languages
Image
Different Operating Systems Thumbnail
Generator
Written By Different People PHP Cache
Generator
Static
HTML
Publisher
Trailers
Generator
Thursday, March 18, 2010
15. The Problem SYSTEMS
WebService
XML
Written In Different Languages
Image
Different Operating Systems Thumbnail
Generator
Written By Different People PHP Cache
Generator
They Need To Share Information
Static
HTML
Publisher
Trailers
Generator
Thursday, March 18, 2010
16. The Problem SYSTEMS
WebService
XML
Written In Different Languages
Image
Different Operating Systems Thumbnail
Generator
Written By Different People PHP Cache
Generator
They Need To Share Information
Static
They Need Real Time Data HTML
Publisher
Trailers
Generator
Thursday, March 18, 2010
17. The Problem SYSTEMS
WebService
XML
Written In Different Languages
Image
Different Operating Systems Thumbnail
Generator
Written By Different People PHP Cache
Generator
They Need To Share Information
Static
They Need Real Time Data HTML
Publisher
They Need To Scale Trailers
Generator
Thursday, March 18, 2010
31. Other Advantages
• Fire and Forget
• Stop/Start consumers safely (no need for
last processed id)
• No need for Cronjobs locks
• Load Distribution
• Transactions
Thursday, March 18, 2010
33. RabbitMQ
• Enterprise Messaging System
• Open Source MPL
• Written in Erlang/OTP
• Commercial Support
Thursday, March 18, 2010
34. Features
• Reliable and High Scalable
• Easy To install
• Easy To Cluster
• Runs on: Windows, Solaris, Linux, OSX
• AMQP 0.8
Thursday, March 18, 2010
36. Docs/Support
• http://www.rabbitmq.com/documentation.html
• http://dev.rabbitmq.com/wiki/
• #rabbitmq at irc.freenode.net
• http://www.rabbitmq.com/email-archive.html
Thursday, March 18, 2010
37. Our Setup:
Publishers - 28 PHP Frontend Machines
2 PHP Machines
running 8 consumers each
Thursday, March 18, 2010
38. Our Setup
• Deployed in mid 2009
• Reduced site SPOF
• 400.000+ messages routed a day (and
increasing)
• Very easy to install/deploy
Thursday, March 18, 2010