DAS_2024_1/turner_ilya_lab_4/README.md

42 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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