Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RabbitMQ: плагины и расширения

RabbitMQ: плагины и расширения

Юрий Букаткин (Программный регион) @ MoscowPython Meetup 60
"Расширения и плагины RabbitMQ избавляют программистов от написания дополнительной логики работы с очередями, повышают отказоустойчивость сервисов и позволяют масштабироваться не только между дата-центрами, но и между континентами.

В докладе я расскажу, какие именно расширения и для каких целей мы используем в компании, с какими трудностями столкнулись и как их преодолели".

Видео: http://www.moscowpython.ru/meetup/60/rabbitmq-plugins/

Moscow Python Meetup
PRO

September 21, 2018
Tweet

More Decks by Moscow Python Meetup

Other Decks in Programming

Transcript

  1. RabbitMQ плагины и расширения
    Букаткин Юрий
    @randomazer
    Moscow Python Meetup 60

    View Slide

  2. RabbitMQ
    RabbitMQ плагины и расширения
    Платформа, реализующая систему обмена сообщениями
    между компонентами программной системы на основе
    стандарта AMQP

    View Slide

  3. RabbitMQ Routing
    RabbitMQ плагины и расширения

    View Slide

  4. Расширения

    View Slide

  5. Time to live (TTL)
    RabbitMQ плагины и расширения

    x-message-ttl

    x-expiries

    expiration

    View Slide

  6. X-message-ttl
    RabbitMQ плагины и расширения

    View Slide

  7. X-expiries
    RabbitMQ плагины и расширения

    View Slide

  8. RabbitMQ плагины и расширения
    Expiration

    View Slide

  9. Length limit
    RabbitMQ плагины и расширения

    Max-length-bytes

    Max-length

    View Slide

  10. Overflow behaviour
    RabbitMQ плагины и расширения

    Drop-head (default)

    Reject-publish

    View Slide

  11. RabbitMQ плагины и расширения
    Пример

    View Slide

  12. Dead Letter Exchanges
    RabbitMQ плагины и расширения

    Сообщение отклонено

    TTL сообщения истек

    Превышен лимит длины очереди

    View Slide

  13. RabbitMQ плагины и расширения
    Пример

    View Slide

  14. Priority queues
    RabbitMQ плагины и расширения

    Варьируется от 1 до 255

    Рекомендуется значения от 1 до 10

    Сообщение без приоритета по-умолчанию 0

    Дополнительная стоимость CPU и Memory

    View Slide

  15. RabbitMQ плагины и расширения
    Пример

    View Slide

  16. RabbitMQ плагины и расширения
    Пример

    View Slide

  17. Alternate exchanges
    RabbitMQ плагины и расширения

    Обнаружение ситуаций, когда клиенты публикуют
    сообщения, которые не могут быть
    перенаправлены

    Специфичная маршрутизация

    View Slide

  18. RabbitMQ плагины и расширения
    Пример

    View Slide

  19. RabbitMQ плагины и расширения
    Пример

    View Slide

  20. Consumer prioritetes
    RabbitMQ плагины и расширения

    View Slide

  21. Consumer prioritetes
    RabbitMQ плагины и расширения
    1
    2
    3

    View Slide

  22. RabbitMQ плагины и расширения
    Пример

    View Slide

  23. Validation
    RabbitMQ плагины и расширения

    UserID

    AppID

    ClusterID

    View Slide

  24. RabbitMQ плагины и расширения
    Пример

    View Slide

  25. Plugins

    View Slide

  26. Проблема
    RabbitMQ плагины и расширения

    View Slide

  27. Проблема
    RabbitMQ плагины и расширения

    View Slide

  28. Shovel
    RabbitMQ плагины и расширения

    View Slide

  29. Включение
    RabbitMQ плагины и расширения
     rabbitmq-plugins enable rabbitmq_shovel
     rabbitmq_shovel_management

    View Slide

  30. Конфигурация
    RabbitMQ плагины и расширения

    View Slide

  31. Выводы

    View Slide

  32. RabbitMQ плагины и расширения
     Расширения помогают писать меньше кода и логики
     UI плагины помогают визуализировать процессы
     Для добавления или изменения настроек очереди или
    обменника нужно их пересоздавать
     Shovel — CAP теорема (AP)
     Дополнительные расходы CPU и Memory

    View Slide

  33. Контакты
    Email: [email protected]
    Github: https://github.com/deslum
    Twitter: https://twitter.com/randomazer
    RabbitMQ плагины и расширения

    View Slide