• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
817
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
33
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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