DAS_2024_1/turner_ilya_lab_4/README.md

3.5 KiB
Raw Blame History

Лабораторная работа №4 - Работа с брокером сообщений

ПИбд-42 || Тюрнер Илья

Цель лабораторной работы

Изучение проектирования приложений при помощи брокера сообщений.

Описание задач 1-2:

В рамках данной лабораторной работы был установлен брокер сообщений RabbitMQ. После этого для обучения были пройдены первые три урока из RabbitMQ Tutorials на ЯП Python. Результаты приложены в виде скриншотов:

  • Итоги первого урока: изображение 1

  • Итоги второго урока: изображение 2

  • Итоги третьего урока: изображение 3

Предметная область:

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

Описание задачи 3:

Далее в рамках лабораторной работы по предметной области были разработаны демонстрационные приложения Publisher, Consumer_1 и Consumer_2. Результаты их работы:

  • Данные по очереди first_queue, запущен один экземпляр Consumer_1: изображение 1

  • Данные по очереди second_queue, запущен один экземпляр Consumer_2: изображение 2

  • Данные по очереди first_queue, запущено два экземпляра Consumer_1: изображение 3

  • Данные по очереди first_queue, запущено три экземпляра Consumer_1: изображение 4

Выводы:

По представленным данным хорошо видно, что second_queue не заполняется совсем, это связано с тем, что обработка сообщений там моментальная и в очереди им задерживаться не приходится. В свою очередь, Cunsomer_1 тратит на обработку сообщения 2-3 секунды, поэтому очередь first_queue достаточно быстро заполняется, если запущен один экземпляр. Также было обнаружено, что чем больше экземпляров Cunsomer_1 запущено, тем медленнее заполняется очередь. Это потому, что каждый из экземпляров занимается обработкой сообщений из очереди. С увеличением числа экземпляров можно достичь момента, когда очередь перестанет заполняться.

Видео с демонстрацией работы:

Размещено на платформе VK видео https://vk.com/video/@tyurner02?z=video303312410_456239080%2Fpl_303312410_-2