RabbitMQ - обмен сообщениями, который просто работает

5,278 views

Published on

По материалам конференции .NET разработчиков - www.dotnetconf.ru

http://www.dotnetconf.ru/Materialy/RabbitMQ

  • Be the first to comment

RabbitMQ - обмен сообщениями, который просто работает

  1. 1. 5-я конференция .NET разработчиков21 октября 2012www.dotnetconf.ru RabbitMQ - обмен сообщениями, который просто работает Руслан Сафин ByndyuSoft twitter.com/razonrus
  2. 2. Цели• Познакомить с RabbitMQ• Поделиться историями из жизни RabbitMQ , РусланСафин 2
  3. 3. Проблема RabbitMQ , РусланСафин 3
  4. 4. Проблема в коммуникации RabbitMQ , РусланСафин 4
  5. 5. Коммуникация – вариант 1 . . .Сервис 1 Сервис 2 Сервис N RabbitMQ , РусланСафин 5
  6. 6. Ожидание• Распределенная прозрачная архитектура• Масштабируемость• Отказоустойчивость RabbitMQ , РусланСафин 6
  7. 7. Реальность RabbitMQ , РусланСафин 7
  8. 8. RabbitMQ , РусланСафин 8
  9. 9. Коммуникация – вариант 2 . . .Сервис 1 Сервис 2 Сервис N RabbitMQ , РусланСафин 9
  10. 10. Общая шина – и есть среда для коммуникации. RabbitMQ , РусланСафин 10
  11. 11. RabbitMQ• Robust messaging for applications• Easy to use• Runs on all major operating systems• Supports a huge number of developer platforms• Open source and commercially supported RabbitMQ , РусланСафин 11
  12. 12. ДемоЛучше один раз увидеть код, чем сто раз прочесть MSDN RabbitMQ , РусланСафин 12
  13. 13. Еще примеры• Отправка сообщения сразу нескольким подписчикам за раз• Выборочное получение сообщений• Выборочное получение сообщений на основе маски• RPC (удаленный вызов процедуры) RabbitMQ , РусланСафин 13
  14. 14. Как мы это применяли RabbitMQ , РусланСафин 14
  15. 15. На чем мы остановились . . .Сервис 1 Сервис 2 Сервис N RabbitMQ , РусланСафин 15
  16. 16. 1. Разгрузить БД Сервис 1Планировщик Репозиторий Сервис 2 Сервис N RabbitMQ , РусланСафин 16
  17. 17. 2. Оптимизировать конвейер Сервис XПланировщик Сервис 1 Сервис 2 Сервис N Репозиторий RabbitMQ , РусланСафин 17
  18. 18. Результат RabbitMQ , РусланСафин 18
  19. 19. RabbitMQ , РусланСафин 19
  20. 20. Результат• Прозрачный, легко диагностируемый конвейер• Скорость• Масштабируемость• Бонусы RabbitMQ , РусланСафин 20
  21. 21. Бонус 1: инициирование задачВеб клиент Сервис X Планировщик Сервис 1 Сервис 2 Сервис N Репозиторий RabbitMQ , РусланСафин 21
  22. 22. Бонус 2: приоритеты задач Сервис ZПланировщик Сервис 1 Сервис 2 Сервис N Репозиторий RabbitMQ , РусланСафин 22
  23. 23. Проблемы решения• Возможность появления дублей в очередях• Загруженность приоритетных очередей RabbitMQ , РусланСафин 23
  24. 24. Check list• Общая шина• RabbitMQ• Примеры построения архитектуры RabbitMQ , РусланСафин 24
  25. 25. Спасибо за внимание Руслан Сафин ByndyuSoft iruslansafin@gmail.com twitter.com/razonrus RabbitMQ , РусланСафин 25

×