2024-10-10 21:00:15 +04:00
|
|
|
|
# Лабораторная работа №4 - Работа с брокером сообщений
|
|
|
|
|
|
|
|
|
|
## Задание
|
|
|
|
|
|
|
|
|
|
#### Цель:
|
|
|
|
|
|
|
|
|
|
Изучение проектирования приложений при помощи брокера сообщений.
|
|
|
|
|
|
|
|
|
|
#### Задачи:
|
|
|
|
|
|
|
|
|
|
* Установить брокер сообщений RabbitMQ.
|
|
|
|
|
* Пройти уроки 1, 2 и 3 из RabbitMQ Tutorials на любом языке программирования.
|
|
|
|
|
* Продемонстрировать работу брокера сообщений.
|
|
|
|
|
|
|
|
|
|
### Классы:
|
|
|
|
|
1. ```Publisher``` - класс, отвечающий за отправку сообщений
|
|
|
|
|
|
|
|
|
|
2. ```Consumer1``` - класс, отвечающий за принятие и обработку сообщений за задержкой 3 секунды
|
|
|
|
|
|
|
|
|
|
2. ```Consumer2``` - класс, отвечающий за принятие и обработку сообщений без задержек
|
|
|
|
|
|
|
|
|
|
#### Ход работы:
|
|
|
|
|
|
|
|
|
|
На компьютер был установлен брокер сообщений ```RabbitMQ```, после чего все три класса программы были одновременно запущены.
|
|
|
|
|
|
|
|
|
|
## Работа программы:
|
|
|
|
|
|
|
|
|
|
Класс ```Publisher``` успешно осуществляет отправку сообщений своим клиентам.
|
|
|
|
|
|
|
|
|
|
Класс ```Consumer1``` осуществляет принятие и обработку сообщений с задержкой в 3 секунды, это можно заметить на видео.
|
|
|
|
|
|
|
|
|
|
Класс ```Consumer2``` мгновенно осуществляет принятие и обработку сообщений.
|
|
|
|
|
|
|
|
|
|
## Работа с RabbitMQ Management UI
|
|
|
|
|
|
|
|
|
|
![](Rabbit.png "")
|
|
|
|
|
|
|
|
|
|
### Очередь ```Consumer1```
|
|
|
|
|
|
|
|
|
|
![](Consumer1.png "")
|
|
|
|
|
|
|
|
|
|
### Очередь ```Consumer2```
|
|
|
|
|
|
2024-10-10 21:02:25 +04:00
|
|
|
|
![](consumer2.png "")
|
|
|
|
|
![](consumer2_2.png "")
|
|
|
|
|
![](consumer3-1.png "")
|
2024-10-10 21:00:15 +04:00
|
|
|
|
|
|
|
|
|
#### Уроки
|
|
|
|
|
|
|
|
|
|
Урок 1:
|
|
|
|
|
![](lesson1.png "")
|
|
|
|
|
|
|
|
|
|
Урок 2:
|
|
|
|
|
![](lesson2.png "")
|
|
|
|
|
|
|
|
|
|
Урок 3:
|
|
|
|
|
![](lesson3.png "")
|
|
|
|
|
|
|
|
|
|
# ВК
|
|
|
|
|
https://vk.com/video256017065_456239872
|