57 lines
2.0 KiB
Markdown
57 lines
2.0 KiB
Markdown
|
# Лабораторная работа №4 - Работа с брокером сообщений
|
|||
|
|
|||
|
## Задание
|
|||
|
|
|||
|
#### Цель:
|
|||
|
|
|||
|
Изучение проектирования приложений при помощи брокера сообщений.
|
|||
|
|
|||
|
#### Задачи:
|
|||
|
|
|||
|
* Установить брокер сообщений RabbitMQ.
|
|||
|
* Пройти уроки 1, 2 и 3 из RabbitMQ Tutorials на любом языке программирования.
|
|||
|
* Продемонстрировать работу брокера сообщений.
|
|||
|
|
|||
|
### Классы:
|
|||
|
1. ```Publisher``` - класс, отвечающий за отправку сообщений
|
|||
|
|
|||
|
2. ```Consumer1``` - класс, отвечающий за принятие и обработку сообщений за задержкой 3 секунды
|
|||
|
|
|||
|
2. ```Consumer2``` - класс, отвечающий за принятие и обработку сообщений без задержек
|
|||
|
|
|||
|
#### Ход работы:
|
|||
|
|
|||
|
На компьютер был установлен брокер сообщений ```RabbitMQ```, после чего все три класса программы были одновременно запущены.
|
|||
|
|
|||
|
## Работа программы:
|
|||
|
|
|||
|
Класс ```Publisher``` успешно осуществляет отправку сообщений своим клиентам.
|
|||
|
|
|||
|
![](Publisher.png "")
|
|||
|
|
|||
|
Класс ```Consumer1``` осуществляет принятие и обработку сообщений с задержкой в 3 секунды, это можно заметить на видео.
|
|||
|
|
|||
|
![](Consumer1.png "")
|
|||
|
|
|||
|
Класс ```Consumer2``` мгновенно осуществляет принятие и обработку сообщений.
|
|||
|
|
|||
|
![](Consumer2.png "")
|
|||
|
|
|||
|
## Работа с RabbitMQ Management UI
|
|||
|
|
|||
|
![](overview.png "")
|
|||
|
|
|||
|
### Очередь ```Consumer1```
|
|||
|
|
|||
|
![](qConsumer1.png "")
|
|||
|
|
|||
|
### Очередь ```Consumer2```
|
|||
|
|
|||
|
![](qConsumer2.png "")
|
|||
|
|
|||
|
### Exchange
|
|||
|
|
|||
|
![](ex.png "")
|
|||
|
|
|||
|
# Youtube
|
|||
|
https://youtu.be/dw7j0WgDmS8
|