РАИС 4
.docxМинистерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
ОБЕСПЕЧЕНИЕ ВЫСОКОЙ ДОСТУПНОСТИ РАСПРЕДЕЛЕННЫХ СИСТЕМ
Отчет по лабораторной работе №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
