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