forked from Alexey/DAS_2024_1
42 lines
3.5 KiB
Markdown
42 lines
3.5 KiB
Markdown
|
# Лабораторная работа №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
|