Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

RabbitMQ simplement - Symfony Live Paris 2019

732 views

Published on

Support de conférence du Symfony Live Paris 2019 sur RabbitMQ, et le composant Messenger

Published in: Technology
  • Be the first to comment

  • Be the first to like this

RabbitMQ simplement - Symfony Live Paris 2019

  1. 1. RabbitMQ simplement @FredBouchery
  2. 2. @FredBouchery Messenger EventDispatcher
  3. 3. @FredBouchery
  4. 4. @FredBouchery
  5. 5. @FredBouchery
  6. 6. @FredBouchery
  7. 7. @FredBouchery
  8. 8. @FredBouchery Queue Publisher Consumer Producer Dispatcher Sender Worker Subscriber Listener Receiver
  9. 9. @FredBouchery Plus de connexion [auto-delete] Redémarrage (default) Suppression [durable] « cache.rebuild »
  10. 10. @FredBouchery
  11. 11. @FredBouchery ✓ ack
  12. 12. @FredBouchery ☒ nack
  13. 13. @FredBouchery ☒ nack [requeue]
  14. 14. @FredBouchery 13 2 4 reject ~ nack
  15. 15. @FredBouchery Exchange Bindpublish consume
  16. 16. @FredBouchery
  17. 17. @FredBouchery A * B B A AB routing key binding key C « topic », « direct », « headers », « fanout »
  18. 18. @FredBouchery article.published Validation AMP [user.notify] user.notify e-Mail notifier [article.published] user.notify slack notifier article.published article.unpublished Sitemap
  19. 19. @FredBouchery C2 C1 DLX
  20. 20. @FredBouchery
  21. 21. @FredBouchery
  22. 22. @FredBouchery
  23. 23. @FredBouchery
  24. 24. @FredBouchery@FredBouchery
  25. 25. @FredBouchery
  26. 26. @FredBouchery $bus->dispatch($message) $handler($message) Bus
  27. 27. @FredBouchery
  28. 28. @FredBouchery
  29. 29. @FredBouchery
  30. 30. @FredBouchery
  31. 31. @FredBouchery
  32. 32. @FredBouchery
  33. 33. @FredBouchery
  34. 34. @FredBouchery « messages » console messenger:consume amqp_messages $bus->dispatch(new NotifyMessage(..)) ;
  35. 35. @FredBouchery
  36. 36. @FredBouchery NotifyMessageHandler OtherMessageHandler FooMessageHandler NotifyMessage OtherMessage FooMessage console messenger:consume amqp_messages
  37. 37. @FredBouchery
  38. 38. @FredBouchery FooMessageHandler(NotifyMessage) NotifyMessage BarMessageHandler(NotifyMessage)
  39. 39. @FredBouchery « delay » « delay_queue_1000 » « delay_queue_2000 » « delay_queue_4000 »
  40. 40. @FredBouchery
  41. 41. @FredBouchery
  42. 42. @FredBouchery article.published Validation AMP user.notify user.notify e-Mail notifier [article.published] user.notify slack notifier
  43. 43. @FredBouchery
  44. 44. @FredBouchery
  45. 45. @FredBouchery article.published Validation AMP user.notify e-Mail notifier user.notify slack notifier article.published article.unpublished Sitemap
  46. 46. 46 @FredBouchery
  47. 47. @FredBouchery RabbitMQ c’est simple !
  48. 48. @FredBouchery @FredBouchery Merci Sourcesdesimages: pexels.compexels.com
  49. 49. @FredBouchery On recherche un développeur à Rennes !

×