DAS_2024_1/davydov_yuriy_lab_4
2024-12-08 17:47:01 +03:00
..
lesson_1 Labs 2024-12-08 17:47:01 +03:00
lesson_2 Labs 2024-12-08 17:47:01 +03:00
lesson_3 Labs 2024-12-08 17:47:01 +03:00
Consumer_1.py Labs 2024-12-08 17:47:01 +03:00
Consumer_2.py Labs 2024-12-08 17:47:01 +03:00
Publisher.py Labs 2024-12-08 17:47:01 +03:00
README.md Labs 2024-12-08 17:47:01 +03:00

Лабораторная работа №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 запущено, тем медленнее заполняется очередь. Это потому, что каждый из экземпляров занимается обработкой сообщений из очереди. С увеличением числа экземпляров можно достичь момента, когда очередь перестанет заполняться.