SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Social	
  network	
  informa0on	
  
                        http://twitter.com/jefersonm          https://github.com/jefersonm/
Jéferson Machado
So#ware	
  Design	
     http://facebook.com/jefe.machado      http://slideshare.net/jefersonm
WHAT IS THAT ?




Robust messaging for applications
Written in:
LANGUAGES
•  JAVA / JVM            •    RUBY
    –  GROOVY / GRAILS   •    PYTHON
    –  SCALA / LIFT      •    .NET
    –  AKKA              •    PHP
    –  PLAY! FRAMEWORK   •    PERL
                         •    C/C++
                         •    ERLANG
                         •    LISP
                         •    HASKELL
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 DISPATCHING




Consumer	
  1	
      Consumer	
  2	
  
MESSAGE ACKNOWLEDGMENT




                      Ack	
  




  Consumer	
  1	
       Consumer	
  2	
  
MESSAGE ACKNOWLEDGMENT




  Consumer	
  1	
     Consumer	
  2	
  
MESSAGE DURABILITY
FAIR DISPATCH



prefetch=1	
                 prefetch=1	
  



 Consumer	
  1	
     Consumer	
  2	
  
PUBLISH / SUBSCRIBLE
EXCHANGES
Wrong	
  
	
  
	
  
	
  
	
  
	
  
	
  


Right	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
EXCHANGES
TYPES:	
  

•    Direct	
  
•    Topic	
  
•    Fanout	
  
•    Header	
  


Default	
  exchange	
  
BINDINGS
TEMPORARY QUEUES
With	
  name:	
  




Random	
  name:	
  




amq.gen-­‐U0srCoW8TsaXjNh73pnVAw==	
  
ROUNTING




Exchange:	
  direct	
  
TOPICS




Message	
  =	
  quick.orange.rabbit	
       Q1,	
  Q2	
  

Message	
  =	
  quick.orange.fox	
             Q1	
  

Message	
  =	
  lazy.brown.fox	
               Q2	
  
                                                            Exchange:	
  topic	
  
TOPIC IS MUCH POWERFUL!!!
                       Message	
  =	
  #	
                                fanout	
  



Message	
  =	
  no	
  “#”	
  (hash)	
  and	
  “*”	
  (star)	
  	
  	
     direct	
  
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/
Jéferson Machado
So#ware	
  Design	
     http://facebook.com/jefe.machado      http://slideshare.net/jefersonm

Mais conteúdo relacionado

Semelhante a RabbitMQ

Storm distributed processing
Storm distributed processingStorm distributed processing
Storm distributed processing
ducquoc_vn
 
Messaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkMessaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new framework
Tomas Doran
 

Semelhante a RabbitMQ (20)

Spacebrew: The Overview
Spacebrew: The OverviewSpacebrew: The Overview
Spacebrew: The Overview
 
ITP Spacebrew Workshop - Spring 2014
ITP Spacebrew Workshop - Spring 2014ITP Spacebrew Workshop - Spring 2014
ITP Spacebrew Workshop - Spring 2014
 
Stop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryStop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard Library
 
Asynchronous Awesome
Asynchronous AwesomeAsynchronous Awesome
Asynchronous Awesome
 
Spacebrew @ SFPC
Spacebrew @ SFPCSpacebrew @ SFPC
Spacebrew @ SFPC
 
Storm distributed processing
Storm distributed processingStorm distributed processing
Storm distributed processing
 
HTTP/2 : why upgrading the web? - DjangoCon Europe 2016 Budapest
HTTP/2 : why upgrading the web? - DjangoCon Europe 2016 BudapestHTTP/2 : why upgrading the web? - DjangoCon Europe 2016 Budapest
HTTP/2 : why upgrading the web? - DjangoCon Europe 2016 Budapest
 
Messaging with amqp and rabbitmq
Messaging with amqp and rabbitmqMessaging with amqp and rabbitmq
Messaging with amqp and rabbitmq
 
Follow the White Rabbit - Message Queues with PHP
Follow the White Rabbit - Message Queues with PHPFollow the White Rabbit - Message Queues with PHP
Follow the White Rabbit - Message Queues with PHP
 
Messaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkMessaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new framework
 
RedisConf17 - Pain-free Pipelining
RedisConf17 - Pain-free PipeliningRedisConf17 - Pain-free Pipelining
RedisConf17 - Pain-free Pipelining
 
Realtime web2012
Realtime web2012Realtime web2012
Realtime web2012
 
Open hackeu introductionb
Open hackeu introductionbOpen hackeu introductionb
Open hackeu introductionb
 
Why PG deserves noSQL fans' respect
Why PG deserves noSQL fans' respectWhy PG deserves noSQL fans' respect
Why PG deserves noSQL fans' respect
 
Fast & Scalable Front/Back-ends using Ruby, Rails & XMPP
Fast & Scalable Front/Back-ends using Ruby, Rails & XMPPFast & Scalable Front/Back-ends using Ruby, Rails & XMPP
Fast & Scalable Front/Back-ends using Ruby, Rails & XMPP
 
Atlanta Hadoop Users Meetup 09 21 2016
Atlanta Hadoop Users Meetup 09 21 2016Atlanta Hadoop Users Meetup 09 21 2016
Atlanta Hadoop Users Meetup 09 21 2016
 
Intro to Graph Databases
Intro to Graph DatabasesIntro to Graph Databases
Intro to Graph Databases
 
Jaoo irony
Jaoo ironyJaoo irony
Jaoo irony
 
Streams on top of scala - #lambdaCon
Streams on top of scala - #lambdaConStreams on top of scala - #lambdaCon
Streams on top of scala - #lambdaCon
 
Full-Stack CakePHP Deployment
Full-Stack CakePHP DeploymentFull-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
 

Mais de Jéferson Machado

Management 3.0, como evoluir pessoas em conjunto com sua organização.
Management 3.0, como evoluir pessoas em conjunto com sua organização.Management 3.0, como evoluir pessoas em conjunto com sua organização.
Management 3.0, como evoluir pessoas em conjunto com sua organização.
Jéferson Machado
 

Mais de Jéferson Machado (20)

druid.io
druid.iodruid.io
druid.io
 
Apache Spark Internals - Part 2
Apache Spark Internals - Part 2Apache Spark Internals - Part 2
Apache Spark Internals - Part 2
 
Apache Spark
Apache SparkApache Spark
Apache Spark
 
Node.js, is it the solution for every problem?
Node.js, is it the solution for every problem?Node.js, is it the solution for every problem?
Node.js, is it the solution for every problem?
 
Plano de carreira, isso funciona ? Me consegue uma bússola por favor. (Agile...
Plano de carreira, isso funciona ? Me consegue uma bússola por favor. (Agile...Plano de carreira, isso funciona ? Me consegue uma bússola por favor. (Agile...
Plano de carreira, isso funciona ? Me consegue uma bússola por favor. (Agile...
 
How to innovate ?
How to innovate ?How to innovate ?
How to innovate ?
 
Management 3.0, como evoluir pessoas em conjunto com sua organização.
Management 3.0, como evoluir pessoas em conjunto com sua organização.Management 3.0, como evoluir pessoas em conjunto com sua organização.
Management 3.0, como evoluir pessoas em conjunto com sua organização.
 
Business model generation
Business model generationBusiness model generation
Business model generation
 
Lean & T.O.C
Lean & T.O.CLean & T.O.C
Lean & T.O.C
 
Kanban metrics
Kanban metricsKanban metrics
Kanban metrics
 
AngularJS
AngularJSAngularJS
AngularJS
 
Python - basics
Python - basicsPython - basics
Python - basics
 
GROW
GROWGROW
GROW
 
1 jeferson (grow)
1 jeferson (grow)1 jeferson (grow)
1 jeferson (grow)
 
Apache Pig
Apache PigApache Pig
Apache Pig
 
Apache HBase
Apache HBaseApache HBase
Apache HBase
 
Management 3.0
Management 3.0Management 3.0
Management 3.0
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

RabbitMQ