DAS_2024_1/ismailov_rovshan_lab_4
2024-12-15 05:52:18 +04:00
..
lesson1 ismailov_rovshan_lab_4 is ready 2024-12-15 05:45:25 +04:00
lesson2 ismailov_rovshan_lab_4 is ready 2024-12-15 05:45:25 +04:00
lesson3 ismailov_rovshan_lab_4 is ready 2024-12-15 05:45:25 +04:00
pictures ismailov_rovshan_lab_4 is ready_fix 2024-12-15 05:52:18 +04:00
Consumer_1.py ismailov_rovshan_lab_4 is ready 2024-12-15 05:45:25 +04:00
Consumer_2.py ismailov_rovshan_lab_4 is ready 2024-12-15 05:45:25 +04:00
Publisher.py ismailov_rovshan_lab_4 is ready 2024-12-15 05:45:25 +04:00
README.md ismailov_rovshan_lab_4 is ready_fix 2024-12-15 05:52:18 +04:00

Лабораторная работа №4.

ПИбд-42 || Исмаилов Ровшан

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

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

Задачи №1 и №2:

В ходе выполнения данной лабораторной работы был установлен брокер сообщений RabbitMQ. Для изучения его возможностей были освоены первые три урока из RabbitMQ Tutorials на языке программирования Python.

  • Результат первого урока: !изображение 2 !изображение 2
  • Результат второго урока: !изображение 2 !изображение 2 !изображение 2
  • Итоги третьего урока: !изображение 2 !изображение 2

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

В качестве предметной области выбрана тема — интернет-магазин.

Задача №3:

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

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

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

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

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

Выводы:

По представленным данным можно сделать следующие выводы:

  • second практически не заполняется, так как обработка сообщений происходит мгновенно, и они не задерживаются в очереди.
  • Consumer_1 тратит 2 секунды на обработку каждого сообщения, что приводит к быстрому заполнению очереди first_queue, если запущен только один экземпляр.
  • Чем больше экземпляров Consumer_1 запущено, тем медленнее заполняется очередь. Это объясняется тем, что каждый экземпляр обрабатывает сообщения из очереди, и нагрузка распределяется между ними.
  • С увеличением числа экземпляров можно достичь такого состояния, когда очередь перестанет заполняться, поскольку сообщения будут обрабатываться с той же скоростью, с которой они поступают.

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

https://cloud.mail.ru/public/2B4T/24cuj1Kv9