Скачиваний:
0
Добавлен:
01.01.2026
Размер:
2.23 Mб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

ОБЕСПЕЧЕНИЕ ВЫСОКОЙ ДОСТУПНОСТИ РАСПРЕДЕЛЕННЫХ СИСТЕМ

Отчет по лабораторной работе №4

по дисциплине «Распределенные автоматизированные информационные системы»

Вариант №6

Студент гр.

____________

Руководитель

Преподаватель каф. КИБЭВС

____________

Введение

Цель работы: освоение принципов работы с системами очередей сообщений на примере RabbitMQ, а также научиться устанавливать и настраивать RabbitMQ, создавать программы-продюсеры (producer) и программы-консьюмеры (consumer) на языке Python с использованием библиотеки Pika, демонстрировать загрузку и разгрузку очередей и применять ограничения на размер очереди

Таблица 1– Данные по варианту

Вариант

Операция

Producer/Consume

r

Данные

от

Producer

(пример

JSON)

Ожидаемый

результат

Consumer (пример

строки)

Пример QUEUE

_NAME

Кол-во

сообще

ний

для

Produc

er

Лимит

сообще

ний в

очеред

и

6

Инвертирование

(переворот)

строки

{"text":

"PikaLib"

}

Инвертированная

строка 'PikaLib':

biLakiP

variant_6

_rev_q

1300

120

1 ХОД РАБОТЫ

Первоочередно была произведена установка серверной части RabbitMQ, что представлено на рисунке 1.1.

Рисунок 1.1 – Установка серверной части RabbitMQ

Далее был активирован плагин для возможности управления и мониторинга сервера RabbitMQ через веб-интерфейс, а также создан пользователь и его настройка, что представлено на рисунках 1.2 –1.3.

Рисунок 1.2 – Веб-интерфейс RabbitMQ

Рисунок 1.3 – Создание нового пользователя

Далее была произведена подготовка окружения Python и установка библиотеки Pika, а также были написаны тестовые скрипты для поставщика сообщений и потребителя сообщений, что представлено на рисунках 1.4 – 1.6.

Рисунок 1.4 – Подготовка окружения

Рисунок 1.5 –Тестовый скрипт для поставщика сообщений

Рисунок 1.6 – Тестовый скрипт для потребителя сообщений

Были запущены исполняемые скрипты для поставщика сообщений и потребителя сообщений, что представлено на рисунках 1.7 – 1.9.

Рисунок 1.7 – Выполнение тестового скрипта поставщика сообщений

Рисунок 1.8 – Выполнение тестового скрипта потребителя сообщений

Рисунок 1.9 – Выполненный тестовый скрипт потребителя сообщений

Далее была произведена настройка политики ограничения максимального количества сообщений в очереди и повторно запущены исполняемые тестовые скрипты, что представлено на рисунках 1.10 – 1.12.

Рисунок 1.10 – Созданная политика

Рисунок 1.11 – Повторное выполнение тестового скрипта поставщика сообщений

Рисунок 1.12 – Повторное выполнение тестового скрипта потребителя сообщений

2 ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ

Первоочередно были созданы скрипты для поставщика сообщений и потребителя сообщений согласно варианту задания, что представлено на рисунках 2.1 – 2.2.

Рисунок 2.1 – Скрипт поставщика сообщений согласно варианту

Рисунок 2.2 – Скрипт потребителя сообщений согласно варианту

Далее был произведен вход в веб-интерфейс и запуск скриптов поставщика и потребителя сообщений по варианту, что представлено на рисунках 2.3 – 2.4.

Рисунок 2.3 – Запуск скрипта поставщика сообщений согласно варианту

Рисунок 2.4 – Запуск скрипта потребителя сообщений согласно варианту

Далее была произведена настройка политики ограничения максимального количества сообщений в очереди согласно варианту задания и повторно запущены исполняемые скрипты, что представлено на рисунках 2.5 – 2.7.

Рисунок 2.5 – Создание политики ограничение очереди по варианту

Рисунок 2.6 – Повторный запуск скрипта поставщика сообщений согласно варианту

Рисунок 2.7 – Повторный запуск скрипта потребителя сообщений согласно варианту

Заключение

В ходе выполнения лабораторной работы был освоен принцип работы с системами очередей сообщений на примере RabbitMQ, а также принцип устанавливать и настраивать RabbitMQ, создавать программы-продюсеры (producer) и программы-консьюмеры (consumer) на языке Python с использованием библиотеки Pika, произведена загрузка и разгрузка очередей и применены ограничения на размер очереди.

Томск 2025

Соседние файлы в предмете Распределенные автоматизированные информационные системы