SlideShare une entreprise Scribd logo
RabbitMQ simplement
@FredBouchery
@FredBouchery
Messenger EventDispatcher
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
Queue
Publisher Consumer
Producer
Dispatcher
Sender
Worker
Subscriber
Listener
Receiver
@FredBouchery
Plus de connexion
[auto-delete]
Redémarrage
(default)
Suppression
[durable]
« cache.rebuild »
@FredBouchery
@FredBouchery
✓ ack
@FredBouchery
☒ nack
@FredBouchery
☒ nack [requeue]
@FredBouchery
13 2
4
reject ~ nack
@FredBouchery
Exchange
Bindpublish
consume
@FredBouchery
@FredBouchery
A
*
B
B
A
AB
routing key
binding key
C
« topic », « direct », « headers », « fanout »
@FredBouchery
article.published
Validation AMP
[user.notify]
user.notify
e-Mail notifier
[article.published]
user.notify
slack notifier
article.published
article.unpublished
Sitemap
@FredBouchery
C2
C1
DLX
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery@FredBouchery
@FredBouchery
@FredBouchery
$bus->dispatch($message)
$handler($message)
Bus
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
@FredBouchery
« messages »
console messenger:consume amqp_messages
$bus->dispatch(new NotifyMessage(..)) ;
@FredBouchery
@FredBouchery
NotifyMessageHandler
OtherMessageHandler
FooMessageHandler
NotifyMessage
OtherMessage
FooMessage
console messenger:consume amqp_messages
@FredBouchery
@FredBouchery
FooMessageHandler(NotifyMessage)
NotifyMessage
BarMessageHandler(NotifyMessage)
@FredBouchery
« delay »
« delay_queue_1000 »
« delay_queue_2000 »
« delay_queue_4000 »
@FredBouchery
@FredBouchery
@FredBouchery
article.published
Validation AMP
user.notify
user.notify
e-Mail notifier
[article.published]
user.notify
slack notifier
@FredBouchery
@FredBouchery
@FredBouchery
article.published
Validation AMP
user.notify
e-Mail notifier
user.notify
slack notifier
article.published
article.unpublished
Sitemap
46
@FredBouchery
@FredBouchery
RabbitMQ c’est simple !
@FredBouchery
@FredBouchery
Merci
Sourcesdesimages: pexels.compexels.com
@FredBouchery
On recherche un développeur à Rennes !

Contenu connexe

Plus de Frederic Bouchery

On a tué mon agilité. Phptour 2016
On a tué mon agilité. Phptour 2016On a tué mon agilité. Phptour 2016
On a tué mon agilité. Phptour 2016Frederic Bouchery
 
Breizhcamp 2015 : Pourquoi PHP ?
Breizhcamp 2015 : Pourquoi PHP ?Breizhcamp 2015 : Pourquoi PHP ?
Breizhcamp 2015 : Pourquoi PHP ?Frederic Bouchery
 
Sauf erreur-je-ne-me-trompe-jamais
Sauf erreur-je-ne-me-trompe-jamaisSauf erreur-je-ne-me-trompe-jamais
Sauf erreur-je-ne-me-trompe-jamaisFrederic Bouchery
 
Breizhcamp 2014 : Une partie de Cache-Cache
Breizhcamp 2014 : Une partie de Cache-CacheBreizhcamp 2014 : Une partie de Cache-Cache
Breizhcamp 2014 : Une partie de Cache-CacheFrederic Bouchery
 

Plus de Frederic Bouchery (6)

On a tué mon agilité. Phptour 2016
On a tué mon agilité. Phptour 2016On a tué mon agilité. Phptour 2016
On a tué mon agilité. Phptour 2016
 
Pattern IBP
Pattern IBPPattern IBP
Pattern IBP
 
Classes anonymes
Classes anonymesClasses anonymes
Classes anonymes
 
Breizhcamp 2015 : Pourquoi PHP ?
Breizhcamp 2015 : Pourquoi PHP ?Breizhcamp 2015 : Pourquoi PHP ?
Breizhcamp 2015 : Pourquoi PHP ?
 
Sauf erreur-je-ne-me-trompe-jamais
Sauf erreur-je-ne-me-trompe-jamaisSauf erreur-je-ne-me-trompe-jamais
Sauf erreur-je-ne-me-trompe-jamais
 
Breizhcamp 2014 : Une partie de Cache-Cache
Breizhcamp 2014 : Une partie de Cache-CacheBreizhcamp 2014 : Une partie de Cache-Cache
Breizhcamp 2014 : Une partie de Cache-Cache
 

Dernier

Slides du webinaire de l'Infopole sur l'IA
Slides du webinaire de l'Infopole sur l'IASlides du webinaire de l'Infopole sur l'IA
Slides du webinaire de l'Infopole sur l'IAInfopole1
 
Protéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numériqueProtéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numériquePaperjam_redaction
 
cours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdfcours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdfHajer Boujezza
 
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...Hajer Boujezza
 
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...OsharaInc
 
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdfModèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdfHajer Boujezza
 

Dernier (6)

Slides du webinaire de l'Infopole sur l'IA
Slides du webinaire de l'Infopole sur l'IASlides du webinaire de l'Infopole sur l'IA
Slides du webinaire de l'Infopole sur l'IA
 
Protéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numériqueProtéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numérique
 
cours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdfcours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdf
 
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
 
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
 
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdfModèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
 

RabbitMQ simplement - Symfony Live Paris 2019