# Отчет по лабораторной работе №4

Выполнила студентка гр. ИСЭбд-41 Плаксина А.В.

## Прохождение tutorial

Установила RabbitMQ server, erlang и зашла в брокер под гостем по `http://localhost:15672/#/` 

Открытый RabbitMQ:

![](photo/ph13.jpg)

Прохождение туториала 1:

Сначала был запущен receive.py, который становится в ожидании сообщения. Затем запустили с отдельном терминале send.py, который отправил сообщение 

![](photo/ph8.jpg)

![](photo/ph9.jpg)

Прохождение туториала 2:

Открыли три терминала: в первых двух запустили поочередно потребителей worker.py. В третьем терминале запустили new_task.py и отправили пять сообщений.
![](photo/ph10.jpg)

В результате эти сообщения были распределены между двумя воркерами.

![](photo/ph11.jpg)

![](photo/ph12.jpg)

Прохождение туториала 3:

Сначала в первом терминале запустили receive_logs.py, затем во втором запустили emit_log.py, тем самы отправив сообщение в первый

![](photo/ph14.jpg)

![](photo/ph15.jpg)

![](pic/tut3.png)

## Разработка демонстрационных приложений

Предметная область:университет, его мониторинг
Собрали и одновременно запустили приложения по одному экземпляру:

1. Publisher

![](photo/ph16.jpg)

2. Consumer 1.

![](photo/ph17.jpg)

3. Consumer 2.

![](photo/ph18.jpg)

## Результаты выполнения лабораторной работы

Результат отработки Consumer_1:

![](photo/ph19.jpg)
![](photo/ph20.jpg)

Результат отработки Consumer_2:

![](photo/ph21.jpg)
![](photo/ph22.jpg)

Вывод: Consumer_2 нагружает меньше памяти, чем Consumer_1 и принимает сообщения гораздо быстрее, тем самым не позволяя очереди накапливать огромное количество сообщений.