# Лабораторная работа №4 - Работа с брокером сообщений ## ПИбд-42 || Тюрнер Илья ### Цель лабораторной работы Изучение проектирования приложений при помощи брокера сообщений. ### Описание задач 1-2: В рамках данной лабораторной работы был установлен брокер сообщений RabbitMQ. После этого для обучения были пройдены первые три урока из RabbitMQ Tutorials на ЯП Python. Результаты приложены в виде скриншотов: - Итоги первого урока:  - Итоги второго урока:  - Итоги третьего урока:  ### Предметная область: В качестве предметной области применяется область из прошлой лабораторной работы - списки абитуриентов для поступления в университет. ### Описание задачи 3: Далее в рамках лабораторной работы по предметной области были разработаны демонстрационные приложения Publisher, Consumer_1 и Consumer_2. Результаты их работы: - Данные по очереди first_queue, запущен один экземпляр Consumer_1:  - Данные по очереди second_queue, запущен один экземпляр Consumer_2:  - Данные по очереди first_queue, запущено два экземпляра Consumer_1:  - Данные по очереди first_queue, запущено три экземпляра Consumer_1:  ### Выводы: По представленным данным хорошо видно, что second_queue не заполняется совсем, это связано с тем, что обработка сообщений там моментальная и в очереди им задерживаться не приходится. В свою очередь, Cunsomer_1 тратит на обработку сообщения 2-3 секунды, поэтому очередь first_queue достаточно быстро заполняется, если запущен один экземпляр. Также было обнаружено, что чем больше экземпляров Cunsomer_1 запущено, тем медленнее заполняется очередь. Это потому, что каждый из экземпляров занимается обработкой сообщений из очереди. С увеличением числа экземпляров можно достичь момента, когда очередь перестанет заполняться. ### Видео с демонстрацией работы: Размещено на платформе VK видео https://vk.com/video/@tyurner02?z=video303312410_456239080%2Fpl_303312410_-2