forked from Alexey/DAS_2024_1
60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
|
# Лабораторная работа №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```
|
|||
|
|
|||
|
![](Consumer2.png "")
|
|||
|
![](Consumer2_2.png "")
|
|||
|
![](Consumer3-1.png "")
|
|||
|
|
|||
|
#### Уроки
|
|||
|
|
|||
|
Урок 1:
|
|||
|
![](lesson1.png "")
|
|||
|
|
|||
|
Урок 2:
|
|||
|
![](lesson2.png "")
|
|||
|
|
|||
|
Урок 3:
|
|||
|
![](lesson3.png "")
|
|||
|
|
|||
|
# ВК
|
|||
|
https://vk.com/video256017065_456239872
|