.. | ||
lesson_1 | ||
lesson_2 | ||
lesson_3 | ||
pictures | ||
Consumer_1.py | ||
Consumer_2.py | ||
Publisher.py | ||
README.md |
Лабораторная работа №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