DAS_2024_1/dozorova_alena_lab_4/README.md

2.6 KiB
Raw Blame History

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

В рамках данной работы были реализованы несколько проектов, работающих с RabbitMQ.

tutorial

Для каждого урока были созданы консольные проекты

"Hello World!"

Task 1

Work Queues

![Task 2]!(image-5.png)

Publish/Subscribe

![Task 3]!(image-6.png)

Описание

В качестве предметной области была выбрана система запросов отчета двух видов: отчета и ошибок.

Запуск

Для запуска лабораторной работы необходимо иметь запущенный Docker на устройстве. Необходимо перейти в папку, где располагается данный файл. Далее открыть терминал и ввести команду:

docker compose up -d --build

Порты для RabbitMQ были 8081 (для UI) и 5672.

Анализ

Первоначальный вариант запуска предполагает, что имеется всего 2 потребителя:

  1. Тратит на обработку сообщения 2-3 секунды
  2. Тратит на обработку сообщения крайне малое время Задержка при обработке понижает пропускную способность обработчика, что вызывает переполнение очереди. Это подтверждается скринами.
    alt text
    alt text
    Теперь запустим несколько обычных обработчиков. Очередь не переполнена постоянно, а периодически, соответственно обработчики вполне справляются с потоком сообщений и увеличение их количества позволит в принципе избавиться от переполнения

![alt text](image-2.png) ![alt text](image-3.png)

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

Демонстрация: (https://drive.google.com/file/d/16gJMGbMKSFZ_I5gCzuDekpAqUrhbpFRA/view?usp=sharing) Стоит обратить внимание на то, что настройки docker compose файла не гарантируют верный порядок подъема контейнеров, из-за чего некоторые контейнеры пришлось перезапустить.