# Лабораторная работа 4 - Работа с брокером сообщений ## ПИбд-42 || Алейкин Артем ### Описание В данной лабораторной работе мы познакомились с такой утилитой как RabbitMQ. ### Туториалы 1. HelloWorld - Tutorial ![Консольный вывод - первый туториал](./Images/Туториал_1.png) 2. Work Queues - Tutorial ![Консольный вывод - второй туториал](./Images/Туториал_2.png) 3. Publish/Subscribe - Tutorial ![Консольный вывод - третий туториал](./Images/Туториал_3.png) ### Основное задание Было разработано 3 приложения: Publisher, Consumer1 и Consumer2. Первое отвечало за доставку сообщений в очереди. Оно генерирует одно сообщение раз в секунду. Второе и Третье за обработку этих сообщений из очередей, но Consumer1 имел искусственную задержку в 2-3 секунды, в то время как Consumer2 таких ограничений не имел и работу. ### Шаги для запуска: 1. Запуск контейнеров: ``` docker-compose up -d ``` В результате мы можем посмотреть графики по этой ссылке http://localhost:15672/ ![График Consumer1 - медленный](./Images/Лаба_Отчет2.png) ![График Consumer2 - быстрый](./Images/Лаба_Отчет1.png) После этого было добавлено еще 3 клиента типа Consumer1 и только после этого их суммарной производительности стало хватать для обработки сообщений. ![График Consumer1 для нескольких клиентов - медленный](./Images/Лаба_Отчет3.png) ![График Consumer2 - быстрый](./Images/Лаба_Отчет4.png) Видео демонстрации работы: https://vk.com/video248424990_456239611?list=ln-v0VkWDOiRBxdctENzV