46 lines
2.8 KiB
Markdown
46 lines
2.8 KiB
Markdown
# Лабораторная работа №4 - Работа с брокером сообщений
|
||
## ПИбд-42 || Карамушко Максим
|
||
|
||
### Цель лабораторной работы
|
||
Изучение передачи сообщений между сервисами с помощью брокера RabbitMQ
|
||
|
||
### Описание задач 1-2:
|
||
В данной лабораторной был установлен RabbitMQ. После этого было пройдено 3 первых урока из RabbitMQ tutorials.
|
||
|
||
- Итоги первого урока:
|
||
![Урок 1](./results/lesson1.png)
|
||
|
||
- Итоги второго урока:
|
||
![Урок 2](./results/lesson2.png)
|
||
|
||
- Итоги третьего урока:
|
||
![Урок 3](./results/lesson3.png)
|
||
|
||
### Предметная область:
|
||
В качестве предметной области я выбрал магазин, в который приходят клиенты.
|
||
|
||
### Описание задачи 3:
|
||
Для демонстрации было были разработаны следующие сервисы:
|
||
Publisher: генерирующий сообщения
|
||
Consumer1: обрабатывающий сообщения с задержкой
|
||
Consumer2: обрабатывающий сообщения без задержки
|
||
|
||
- Данные по очереди second-client-queue, с одним запущенным экземпляром Consumer2:
|
||
![изображение 1](./results/second_queue.png)
|
||
|
||
- Данные по очереди first-client-queue, с одним запущенным экземпляром Consumer1:
|
||
![изображение 2](./results/1-consumers.png)
|
||
|
||
- Данные по очереди first-client-queue, с двумя запущенными экземплярами Consumer1:
|
||
![изображение 3](./results/2-consumers.png)
|
||
|
||
- Данные по очереди first-client-queue, с тремя запущенными экземплярами Consumer1:
|
||
![изображение 4](./results/3-consumers.png)
|
||
|
||
### Выводы:
|
||
По этим данным можно заметить, что вторая очередь вообще не заполняется, так как обрабатывает сообщения мгновенно.
|
||
|
||
Первая очередь с одним запущенным экземпляром Consumer1, заполняется быстро. По мере увеличения количества запускаемых экземпляров Consumer1 очередь заполняется все медленнее и при трех запущенных экземплярах очередь перестает расти.
|
||
|
||
### Видео с демонстрацией работы:
|
||
https://disk.yandex.ru/i/EEYPmrVKAczQlg |