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 |