47 lines
2.6 KiB
Markdown
47 lines
2.6 KiB
Markdown
|
# Лабораторная работа №4
|
|||
|
## ПИбд-42 Машкова Маргарита
|
|||
|
## Задание
|
|||
|
Необходимо выбрать предметную область и разработать следующие приложения:
|
|||
|
|
|||
|
1. Publisher. Программа, которая создаёт один exchange с типом fanout. Программа должна раз в секунду генерировать
|
|||
|
сообщения в журнал событий согласно вашей предметной области. Например, событие "пришёл заказ" или "сообщение от
|
|||
|
пользователя" или "необходимо создать отчёт".
|
|||
|
2. Consumer 1. Программа, которая создаёт под себя отдельную не анонимную (!) очередь (queue)
|
|||
|
(то есть имя queue НЕ пустая строка), создаёт binding на exchange и начинает принимать сообщения (consume).
|
|||
|
Программа должна обрабатывать сообщения 2-3 секунды. Можно реализовать через обычный Thread.Sleep.
|
|||
|
3. Consumer 2. Аналогично Consumer 1, только сообщения необходимо обрабатывать моментально. Только имя очереди должно
|
|||
|
отличаться от Consumer 1.
|
|||
|
|
|||
|
## Запуск программы
|
|||
|
Запустить программу `Consumer1`
|
|||
|
Запустить программу `Consumer2`
|
|||
|
Запустить программу `Publisher`
|
|||
|
|
|||
|
## Описание работы программы
|
|||
|
Publisher каждую секунду отправляет сообщение `Пришел заказ №`. Consumer1 и Consumer2 получают сообщения, обрабатывают его
|
|||
|
Consumer1 в течении 4 секунд, Consumer2 в течении 6 секунд.
|
|||
|
|
|||
|
## Тесты
|
|||
|
### Вывод отправителя:
|
|||
|
![Вывод отправителя](console_publisher.png)
|
|||
|
|
|||
|
### Вывод получателя 1:
|
|||
|
![Вывод получателя1](console_consumer1.png)
|
|||
|
|
|||
|
### Вывод получателя 2:
|
|||
|
![Вывод получателя2](console_consumer2.png)
|
|||
|
|
|||
|
### Отчеты из RabbitMQ Management UI:
|
|||
|
![Основной отчет](main_report.png)
|
|||
|
|
|||
|
### Очередь Consumer1:
|
|||
|
![Очередь Consumer1](queue1.png)
|
|||
|
|
|||
|
### Очередь Consumer2:
|
|||
|
![Очередь Consumer2](queue2.png)
|
|||
|
|
|||
|
### Exchange:
|
|||
|
![Exchange](exchange.png)
|
|||
|
|
|||
|
Ссылка на видео:
|
|||
|
https://youtu.be/9gr2HpZrYyk
|