40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
|
# Лабораторная работа №4
|
|||
|
|
|||
|
## Задание
|
|||
|
|
|||
|
Цель: изучение проектирования приложений при помощи брокера сообщений.
|
|||
|
|
|||
|
Задачи:
|
|||
|
|
|||
|
- Установить брокер сообщений RabbitMQ.
|
|||
|
- Пройти уроки 1, 2 и 3 из RabbitMQ Tutorials на любом языке программирования.
|
|||
|
- Продемонстрировать работу брокера сообщений
|
|||
|
|
|||
|
## Ход работы
|
|||
|
|
|||
|
### RabbitMQ
|
|||
|
RabbitMQ был установлен на локальное устройство без использования Docker.
|
|||
|
|
|||
|
### Работа брокера
|
|||
|
|
|||
|
Было создано три приложения - publisher, consumer1, consumer2.
|
|||
|
|
|||
|
Задача publisher - осуществлять отправку сообщений
|
|||
|
![](screenshots/img1.png)
|
|||
|
|
|||
|
Задача consumer1 - принимать сообщения и обрабатывать его 3 секунды
|
|||
|
![consumer1Console.png](screenshots/img2.png)
|
|||
|
|
|||
|
Задача consumer2 - получать сообщение и обрабатывать его моментально, без задержек
|
|||
|
![consumer2Console.png](screenshots/img3.png)
|
|||
|
|
|||
|
### Результат процесса выполнения в RabbitMQ
|
|||
|
Изначально графики были неровные, но программа выполнялась долго, они выровнялись и получились следующие графики:
|
|||
|
![overviewRMQ.png](screenshots/img4.png)
|
|||
|
![exchangeRMQ.png](screenshots/img5.png)
|
|||
|
![queue1RMQ.png](screenshots/img6.png)
|
|||
|
![queue2RMQ.png](screenshots/img7.png)
|
|||
|
|
|||
|
## Результат
|
|||
|
|
|||
|
Видео: https://disk.yandex.ru/d/OcUMxP9PYaOlPg
|