46 lines
3.5 KiB
Markdown
46 lines
3.5 KiB
Markdown
|
# Лабораторная работа №4.
|
|||
|
## ПИбд-42 || Исмаилов Ровшан
|
|||
|
|
|||
|
### Цель лабораторной работы
|
|||
|
Изучение проектирования приложений при помощи брокера сообщений.
|
|||
|
|
|||
|
### Задачи №1 и №2:
|
|||
|
В ходе выполнения данной лабораторной работы был установлен брокер сообщений RabbitMQ. Для изучения его возможностей были освоены первые три урока из RabbitMQ Tutorials на языке программирования Python.
|
|||
|
|
|||
|
- Результат первого урока:
|
|||
|
!
|
|||
|
!
|
|||
|
- Результат второго урока:
|
|||
|
!
|
|||
|
!
|
|||
|
!
|
|||
|
- Итоги третьего урока:
|
|||
|
!
|
|||
|
!
|
|||
|
### Предметная область:
|
|||
|
В качестве предметной области выбрана тема — интернет-магазин.
|
|||
|
|
|||
|
### Задача №3:
|
|||
|
В рамках лабораторной работы по выбранной предметной области были разработаны демонстрационные приложения: Publisher, Consumer_1 и Consumer_2. Результаты их выполнения представлены ниже.
|
|||
|
|
|||
|
- Данные из очереди **first**, запущен один экземпляр **Consumer_1**:
|
|||
|

|
|||
|
|
|||
|
- Данные из очереди **second**, запущен один экземпляр **Consumer_2**:
|
|||
|

|
|||
|
|
|||
|
- Данные из очереди **first**, запущено два экземпляра **Consumer_1**:
|
|||
|

|
|||
|
|
|||
|
- Данные из очереди **first**, запущено три экземпляра **Consumer_1**:
|
|||
|

|
|||
|
|
|||
|
### Выводы:
|
|||
|
По представленным данным можно сделать следующие выводы:
|
|||
|
- **second** практически не заполняется, так как обработка сообщений происходит мгновенно, и они не задерживаются в очереди.
|
|||
|
- **Consumer_1** тратит 2 секунды на обработку каждого сообщения, что приводит к быстрому заполнению очереди **first_queue**, если запущен только один экземпляр.
|
|||
|
- Чем больше экземпляров **Consumer_1** запущено, тем медленнее заполняется очередь. Это объясняется тем, что каждый экземпляр обрабатывает сообщения из очереди, и нагрузка распределяется между ними.
|
|||
|
- С увеличением числа экземпляров можно достичь такого состояния, когда очередь перестанет заполняться, поскольку сообщения будут обрабатываться с той же скоростью, с которой они поступают.
|
|||
|
|
|||
|
### Видео с демонстрацией работы:
|
|||
|
https://cloud.mail.ru/public/2B4T/24cuj1Kv9
|