40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
|
# Лабораторная работа №4
|
|||
|
|
|||
|
## Задание
|
|||
|
|
|||
|
Цель: изучение проектирования приложений при помощи брокера сообщений.
|
|||
|
|
|||
|
Задачи:
|
|||
|
|
|||
|
- Установить брокер сообщений RabbitMQ.
|
|||
|
- Пройти уроки 1, 2 и 3 из RabbitMQ Tutorials на любом языке программирования.
|
|||
|
- Продемонстрировать работу брокера сообщений
|
|||
|
|
|||
|
## Ход работы
|
|||
|
|
|||
|
### RabbitMQ
|
|||
|
RabbitMQ был установлен на локальное устройство без использования Docker.
|
|||
|
|
|||
|
### Работа брокера
|
|||
|
|
|||
|
Было создано три приложения - publisher, consumer1, consumer2.
|
|||
|
|
|||
|
Задача publisher - осуществлять отправку сообщений
|
|||
|
![publisherConsole.png](screenshots%2FpublisherConsole.png)
|
|||
|
|
|||
|
Задача consumer1 - принимать сообщения и обрабатывать его 3 секунды
|
|||
|
![consumer1Console.png](screenshots%2Fconsumer1Console.png)
|
|||
|
|
|||
|
Задача consumer2 - получать сообщение и обрабатывать его моментально, без задержек
|
|||
|
![consumer2Console.png](screenshots%2Fconsumer2Console.png)
|
|||
|
|
|||
|
### Результат процесса выполнения в RabbitMQ
|
|||
|
Изначально графики были неровные, но программа выполнялась долго, они выровнялись и получились следующие графики:
|
|||
|
![overviewRMQ.png](screenshots%2FoverviewRMQ.png)
|
|||
|
![exchangeRMQ.png](screenshots%2FexchangeRMQ.png)
|
|||
|
![queue1RMQ.png](screenshots%2Fqueue1RMQ.png)
|
|||
|
![queue2RMQ.png](screenshots%2Fqueue2RMQ.png)
|
|||
|
|
|||
|
## Результат
|
|||
|
|
|||
|
Работоспособность показана в видео: [lab4.mp4](lab4.mp4)
|