SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Message Queues

     Kilian


   Today, duh
Motivation



Alternatives



AMQP
What We Need




     Some kind of message queueing / IPC
     Send data from A to B
         send arbitrary messages
         distributed
         Reliable
         Flexible
         Scalable
         Fast
What We Have



     Python Twisted XML-RPC
         arbitrary data: yes
         distributed: yep
         Reliable: implementation
         Flexible: not really ...
         Scalable: well ...
         Fast: oh ...
     Can we have all that, without implementing everything?
far too many IPC standards and implementations out there
not all are distributed
    D-Bus
    MPI
    Signals
some are
    XML-RPC (SOAP, ...)
    ”Sun” RPC
Are any of those reliable?
Reliability




        What goes in comes out.
        It does come out.
        It does come out, even if something goes horribly wrong.
        If something goes horribly wrong, not everything breaks.
AMQP?



    Doesn’t look like it was designed for IPC.
    So what? IPC is just a special case of message passing.
    Does it match our needs?
        arbitrary messages, distributed, flexible, scalable, reliable
        if the implementation is not slower then the current
        XML-RPC, it’s fast enough
    Instead of searching for a IPC standard / implementation that
    fits our needs, search for AMQP implementation that fits our
    needs.
What is AMQP?
Exchanges



      a message is send to a exchange
      every message has a routing key
      the exchange decides, based on the routing key, where to
      enqueue it.
            fine graned configuration, how messages from A reach B
            direct exchange
            fanout
            topic exchange
Exchanges
Fin




      Fin

Weitere ähnliche Inhalte

Andere mochten auch

Best practiclessme2012
Best practiclessme2012Best practiclessme2012
Best practiclessme2012VIRTA s.r.o.
 
Роль стантартов в развитии On line торговли
Роль стантартов в развитии On line торговлиРоль стантартов в развитии On line торговли
Роль стантартов в развитии On line торговлиWikimart
 
Weather and climate miguel angel-martinez
Weather and climate miguel angel-martinezWeather and climate miguel angel-martinez
Weather and climate miguel angel-martinezlola caravaca
 
The light alvaro nohales
The light  alvaro nohalesThe light  alvaro nohales
The light alvaro nohaleslola caravaca
 
Hilton International Training.
Hilton International Training.Hilton International Training.
Hilton International Training.Hilton
 
Timemanagement
TimemanagementTimemanagement
TimemanagementSheila A
 
Thesis i 3.21.11
Thesis i 3.21.11Thesis i 3.21.11
Thesis i 3.21.11alimac326
 
Alien digest vol_1
Alien digest vol_1Alien digest vol_1
Alien digest vol_1gorin2008
 
Especies Invasoras 2016 IES Rambla de Nogalte
Especies Invasoras 2016  IES Rambla de NogalteEspecies Invasoras 2016  IES Rambla de Nogalte
Especies Invasoras 2016 IES Rambla de NogalteTxema Campillo
 
Trabajo science sofia t 6
Trabajo science sofia t 6Trabajo science sofia t 6
Trabajo science sofia t 6lola caravaca
 
BTXA part 4 of 5
BTXA part 4 of 5BTXA part 4 of 5
BTXA part 4 of 5justmargie
 
Living things asensio
Living things asensioLiving things asensio
Living things asensiolola caravaca
 
Gross misconduct
Gross misconductGross misconduct
Gross misconductSheila A
 

Andere mochten auch (20)

Facebook Presentatie
Facebook PresentatieFacebook Presentatie
Facebook Presentatie
 
1124473b
1124473b1124473b
1124473b
 
Best practiclessme2012
Best practiclessme2012Best practiclessme2012
Best practiclessme2012
 
Роль стантартов в развитии On line торговли
Роль стантартов в развитии On line торговлиРоль стантартов в развитии On line торговли
Роль стантартов в развитии On line торговли
 
La prehistoria
La prehistoriaLa prehistoria
La prehistoria
 
Weather and climate miguel angel-martinez
Weather and climate miguel angel-martinezWeather and climate miguel angel-martinez
Weather and climate miguel angel-martinez
 
Lasers
LasersLasers
Lasers
 
The light alvaro nohales
The light  alvaro nohalesThe light  alvaro nohales
The light alvaro nohales
 
Facebook Presentatie
Facebook PresentatieFacebook Presentatie
Facebook Presentatie
 
Hilton International Training.
Hilton International Training.Hilton International Training.
Hilton International Training.
 
Timemanagement
TimemanagementTimemanagement
Timemanagement
 
Thesis i 3.21.11
Thesis i 3.21.11Thesis i 3.21.11
Thesis i 3.21.11
 
Alien digest vol_1
Alien digest vol_1Alien digest vol_1
Alien digest vol_1
 
Especies Invasoras 2016 IES Rambla de Nogalte
Especies Invasoras 2016  IES Rambla de NogalteEspecies Invasoras 2016  IES Rambla de Nogalte
Especies Invasoras 2016 IES Rambla de Nogalte
 
L
LL
L
 
Trabajo science sofia t 6
Trabajo science sofia t 6Trabajo science sofia t 6
Trabajo science sofia t 6
 
Pytables
PytablesPytables
Pytables
 
BTXA part 4 of 5
BTXA part 4 of 5BTXA part 4 of 5
BTXA part 4 of 5
 
Living things asensio
Living things asensioLiving things asensio
Living things asensio
 
Gross misconduct
Gross misconductGross misconduct
Gross misconduct
 

Ähnlich wie Message Queues

Building a reliable, scalable service with Clojure and Core.async
Building a reliable, scalable service with Clojure and Core.asyncBuilding a reliable, scalable service with Clojure and Core.async
Building a reliable, scalable service with Clojure and Core.asyncKapil Reddy
 
NoSQL afternoon in Japan Kumofs & MessagePack
NoSQL afternoon in Japan Kumofs & MessagePackNoSQL afternoon in Japan Kumofs & MessagePack
NoSQL afternoon in Japan Kumofs & MessagePackSadayuki Furuhashi
 
NoSQL afternoon in Japan kumofs & MessagePack
NoSQL afternoon in Japan kumofs & MessagePackNoSQL afternoon in Japan kumofs & MessagePack
NoSQL afternoon in Japan kumofs & MessagePackSadayuki Furuhashi
 
Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPEberhard Wolff
 
The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP Eberhard Wolff
 
High powered messaging with RabbitMQ
High powered messaging with RabbitMQHigh powered messaging with RabbitMQ
High powered messaging with RabbitMQJames Carr
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQPOSSCON
 
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffJAX London
 
The Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's TermsThe Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's TermsJeff Squyres
 
RabbitMQ interview Questions and Answers
RabbitMQ interview Questions and AnswersRabbitMQ interview Questions and Answers
RabbitMQ interview Questions and Answersjeetendra mandal
 
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoTareque Hossain
 
Using Apache Camel as AKKA
Using Apache Camel as AKKAUsing Apache Camel as AKKA
Using Apache Camel as AKKAJohan Edstrom
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQAll Things Open
 
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...Trivadis
 
RestMS Introduction
RestMS IntroductionRestMS Introduction
RestMS Introductionpieterh
 

Ähnlich wie Message Queues (20)

Building a reliable, scalable service with Clojure and Core.async
Building a reliable, scalable service with Clojure and Core.asyncBuilding a reliable, scalable service with Clojure and Core.async
Building a reliable, scalable service with Clojure and Core.async
 
NoSQL afternoon in Japan Kumofs & MessagePack
NoSQL afternoon in Japan Kumofs & MessagePackNoSQL afternoon in Japan Kumofs & MessagePack
NoSQL afternoon in Japan Kumofs & MessagePack
 
NoSQL afternoon in Japan kumofs & MessagePack
NoSQL afternoon in Japan kumofs & MessagePackNoSQL afternoon in Japan kumofs & MessagePack
NoSQL afternoon in Japan kumofs & MessagePack
 
Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQP
 
The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP
 
High powered messaging with RabbitMQ
High powered messaging with RabbitMQHigh powered messaging with RabbitMQ
High powered messaging with RabbitMQ
 
RabbitMQ
RabbitMQRabbitMQ
RabbitMQ
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
 
The Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's TermsThe Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's Terms
 
Ride The Bus!
Ride The Bus!Ride The Bus!
Ride The Bus!
 
what is soap
what is soapwhat is soap
what is soap
 
RabbitMQ interview Questions and Answers
RabbitMQ interview Questions and AnswersRabbitMQ interview Questions and Answers
RabbitMQ interview Questions and Answers
 
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with django
 
Using Apache Camel as AKKA
Using Apache Camel as AKKAUsing Apache Camel as AKKA
Using Apache Camel as AKKA
 
Message queues
Message queuesMessage queues
Message queues
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
 
Enterprise messaging
Enterprise messagingEnterprise messaging
Enterprise messaging
 
RestMS Introduction
RestMS IntroductionRestMS Introduction
RestMS Introduction
 

Mehr von rocketcircus

Mehr von rocketcircus (7)

Descriptor Protocol
Descriptor ProtocolDescriptor Protocol
Descriptor Protocol
 
Descriptor Protocol
Descriptor ProtocolDescriptor Protocol
Descriptor Protocol
 
Python Academy
Python AcademyPython Academy
Python Academy
 
intro to scikits.learn
intro to scikits.learnintro to scikits.learn
intro to scikits.learn
 
AWS Quick Intro
AWS Quick IntroAWS Quick Intro
AWS Quick Intro
 
PyPy 1.5
PyPy 1.5PyPy 1.5
PyPy 1.5
 
Rocket Circus on Code Review
Rocket Circus on Code ReviewRocket Circus on Code Review
Rocket Circus on Code Review
 

Kürzlich hochgeladen

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

Message Queues

  • 1. Message Queues Kilian Today, duh
  • 3. What We Need Some kind of message queueing / IPC Send data from A to B send arbitrary messages distributed Reliable Flexible Scalable Fast
  • 4. What We Have Python Twisted XML-RPC arbitrary data: yes distributed: yep Reliable: implementation Flexible: not really ... Scalable: well ... Fast: oh ... Can we have all that, without implementing everything?
  • 5. far too many IPC standards and implementations out there not all are distributed D-Bus MPI Signals some are XML-RPC (SOAP, ...) ”Sun” RPC Are any of those reliable?
  • 6. Reliability What goes in comes out. It does come out. It does come out, even if something goes horribly wrong. If something goes horribly wrong, not everything breaks.
  • 7. AMQP? Doesn’t look like it was designed for IPC. So what? IPC is just a special case of message passing. Does it match our needs? arbitrary messages, distributed, flexible, scalable, reliable if the implementation is not slower then the current XML-RPC, it’s fast enough Instead of searching for a IPC standard / implementation that fits our needs, search for AMQP implementation that fits our needs.
  • 9. Exchanges a message is send to a exchange every message has a routing key the exchange decides, based on the routing key, where to enqueue it. fine graned configuration, how messages from A reach B direct exchange fanout topic exchange
  • 11. Fin Fin