0
Social	  network	  informa0on	                          http://twitter.com/jefersonm          https://github.com/jefersonm...
WHAT IS THAT ?Robust messaging for applications
Written in:
LANGUAGES•  JAVA / JVM            •    RUBY    –  GROOVY / GRAILS   •    PYTHON    –  SCALA / LIFT      •    .NET    –  AK...
HOW IT WORKS ?             Post man
JARGON  Producer	        Sent	  message	      Queue	  Buffer	  that	  stores	  messages	   Consumer	     Receive	  message	  
WORKER QUEUES
worker.py	     new_task.py	  
ROUND-ROBIN DISPATCHINGConsumer	  1	      Consumer	  2	  
MESSAGE ACKNOWLEDGMENT                      Ack	    Consumer	  1	       Consumer	  2	  
MESSAGE ACKNOWLEDGMENT  Consumer	  1	     Consumer	  2	  
MESSAGE DURABILITY
FAIR DISPATCHprefetch=1	                 prefetch=1	   Consumer	  1	     Consumer	  2	  
PUBLISH / SUBSCRIBLE
EXCHANGESWrong	  	  	  	  	  	  	  Right	  	  	  	  	  	  	  	  
EXCHANGESTYPES:	  •    Direct	  •    Topic	  •    Fanout	  •    Header	  Default	  exchange	  
BINDINGS
TEMPORARY QUEUESWith	  name:	  Random	  name:	  amq.gen-­‐U0srCoW8TsaXjNh73pnVAw==	  
ROUNTINGExchange:	  direct	  
TOPICSMessage	  =	  quick.orange.rabbit	       Q1,	  Q2	  Message	  =	  quick.orange.fox	             Q1	  Message	  =	  l...
TOPIC IS MUCH POWERFUL!!!                       Message	  =	  #	                                fanout	  Message	  =	  no	...
PLUGINS
PLUGINS
REFERENCES•    http://www.rabbitmq.com/•    https://github.com/jefersonm/sandbox/tree/gh-pages/python/rabbitmq
Social	  network	  informa0on	                          http://twitter.com/jefersonm          https://github.com/jefersonm...
RabbitMQ
Upcoming SlideShare
Loading in...5
×

RabbitMQ

887

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
887
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
35
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "RabbitMQ"

  1. 1. Social  network  informa0on   http://twitter.com/jefersonm https://github.com/jefersonm/Jéferson MachadoSo#ware  Design   http://facebook.com/jefe.machado http://slideshare.net/jefersonm
  2. 2. WHAT IS THAT ?Robust messaging for applications
  3. 3. Written in:
  4. 4. LANGUAGES•  JAVA / JVM •  RUBY –  GROOVY / GRAILS •  PYTHON –  SCALA / LIFT •  .NET –  AKKA •  PHP –  PLAY! FRAMEWORK •  PERL •  C/C++ •  ERLANG •  LISP •  HASKELL
  5. 5. HOW IT WORKS ? Post man
  6. 6. JARGON Producer   Sent  message   Queue  Buffer  that  stores  messages   Consumer   Receive  message  
  7. 7. WORKER QUEUES
  8. 8. worker.py   new_task.py  
  9. 9. ROUND-ROBIN DISPATCHINGConsumer  1   Consumer  2  
  10. 10. MESSAGE ACKNOWLEDGMENT Ack   Consumer  1   Consumer  2  
  11. 11. MESSAGE ACKNOWLEDGMENT Consumer  1   Consumer  2  
  12. 12. MESSAGE DURABILITY
  13. 13. FAIR DISPATCHprefetch=1   prefetch=1   Consumer  1   Consumer  2  
  14. 14. PUBLISH / SUBSCRIBLE
  15. 15. EXCHANGESWrong              Right                
  16. 16. EXCHANGESTYPES:  •  Direct  •  Topic  •  Fanout  •  Header  Default  exchange  
  17. 17. BINDINGS
  18. 18. TEMPORARY QUEUESWith  name:  Random  name:  amq.gen-­‐U0srCoW8TsaXjNh73pnVAw==  
  19. 19. ROUNTINGExchange:  direct  
  20. 20. TOPICSMessage  =  quick.orange.rabbit   Q1,  Q2  Message  =  quick.orange.fox   Q1  Message  =  lazy.brown.fox   Q2   Exchange:  topic  
  21. 21. TOPIC IS MUCH POWERFUL!!! Message  =  #   fanout  Message  =  no  “#”  (hash)  and  “*”  (star)       direct  
  22. 22. PLUGINS
  23. 23. PLUGINS
  24. 24. REFERENCES•  http://www.rabbitmq.com/•  https://github.com/jefersonm/sandbox/tree/gh-pages/python/rabbitmq
  25. 25. Social  network  informa0on   http://twitter.com/jefersonm https://github.com/jefersonm/Jéferson MachadoSo#ware  Design   http://facebook.com/jefe.machado http://slideshare.net/jefersonm
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×