# Лабораторная работа №4

## Результаты уроков

### Урок №1

![](tutorial_1/tutorial_1.png "")

### Урок №2

![](tutorial_2/tutorial_2.png "")

### Урок №3

![](tutorial_3/tutorial_3.png "")

## Описание самостоятельного проекта

Проект разворачивает 3 программы в отдельных контейнерах с использованием Docker Compose:
1. **publisher** - издатель, отправляющий случайные сообщения из списка раз в секунду;
2. **consumer_1** - потребитель, обрабатывающий сообщения с задержкой в 5 секунд;
3. **consumer_2** - потребитель, обрабатывающий сообщения без задержки;

### Отправляемые сообщения
- Новая публикация
- Добавлен автор
- Ошибка!!!
- чел..

###### *Комментарии указаны в файлах

## Анализ очередей

### publish_queue_fast

![](RabbitMQ_app/report_fast.png "")

- Очередь без задержек не содержит в себе сообщений, тем самым график держится на нуле.
- Скорость прихода сообщений - 1 секунда, а после моментальная обработка.

### publish_queue_slow

![](RabbitMQ_app/report_slow.png "")

- Очередь с задержкой копит сообщения - график растет.
- Скорость прихода сообщений - 1 секунда, скорость обработки 0.2 сообщения в секунду, что и приводит к накоплению сообщений.

## Видеодемонстрация работоспособности

[Демонстрация работы сервиса](https://files.ulstu.ru/s/mbXq3CMgafMMDH2)