# Лабораторная работа 4 В рамках данной работы были реализованы несколько проектов, работающих с RabbitMQ. ## tutorial Для каждого урока были созданы консольные проекты ### "Hello World!"  ### Work Queues  ### Publish/Subscribe  ## Описание В качестве предметной области была выбрана система запросов отчета двух видов: отчета и ошибок. ## Запуск Для запуска лабораторной работы необходимо иметь запущенный Docker на устройстве. Необходимо перейти в папку, где располагается данный файл. Далее открыть терминал и ввести команду: ``` docker compose up -d --build ``` Порты для RabbitMQ были 8081 (для UI) и 5672. ## Анализ Первоначальный вариант запуска предполагает, что имеется всего 2 потребителя: 1. Тратит на обработку сообщения 2-3 секунды 2. Тратит на обработку сообщения крайне малое время Задержка при обработке понижает пропускную способность обработчика, что вызывает переполнение очереди. Это подтверждается скринами. <br/>  <br/>  <br/> Теперь запустим несколько обычных обработчиков. Очередь не переполнена постоянно, а периодически, соответственно обработчики вполне справляются с потоком сообщений и увеличение их количества позволит в принципе избавиться от переполнения <br/>  <br/>  ## Видеодемонстрация Демонстрация: (https://drive.google.com/file/d/16gJMGbMKSFZ_I5gCzuDekpAqUrhbpFRA/view?usp=sharing) Стоит обратить внимание на то, что настройки docker compose файла не гарантируют верный порядок подъема контейнеров, из-за чего некоторые контейнеры пришлось перезапустить.