Обработка XML файлов с использованием микросервисного подхода. (C# RabbitMQ, SQLite)
Описание шагов для запуска программы
Действия для установки docker-compose на Ubuntu
- Требуется для установки и выполнения последующих шагов
sudo apt-get install curl sudo apt-get install gnupg sudo apt-get install ca-certificates sudo apt-get install lsb-release
- Загрузка файла
gpgдля установкиdockersudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg - Добавление пакетов
dockerиdocker-composeв Ubuntuecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginlinux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - Установка
dockerиdocker-composesudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin - Проверка успешности установки
dockersudo docker run hello-world
- Клонирование репозитория
git clone https://github.com/code-lime/TestTaskLabInvent
- Настройка параметров запуска
nano .env
Параметры запуска:
RABBITMQ_USERNAME=queue_name // Пользователь RabbitMQ RABBITMQ_PASSWORD=queue_pass // Пароль от пользователя RabbitMQ RABBITMQ_QUEUE=test_queue // Название очереди в RabbitMQ LOGGING_LEVEL=Information // Уровни логирования (Verbose, Debug, Information, Warning, Error, Fatal) FILELISTENER_DELAY_SEC=1.0 // Частота проверки файлов
- Запуск
docker-composedocker-compose up
Для обработки .xml файлов требуется их разместить в папке ./etc/files, которая была создана после запуска docker-compose.
В папке ./etc/sqlite находится файл SQLite базы данных в который происходит сохранение измененных данных из .xml файлов отправленных через RabbitMQ
Для подключения внешней RabbitMQ требуется изменить файл docker-compose.yml.
- Отключить локальный
RabbitMQи зависимости от него, закомментировав данные части кодаTestTaskLabInvent/docker-compose.yml
Lines 8 to 14 in bcb299c
TestTaskLabInvent/docker-compose.yml
Lines 34 to 40 in bcb299c
TestTaskLabInvent/docker-compose.yml
Lines 58 to 78 in bcb299c
TestTaskLabInvent/docker-compose.yml
Lines 80 to 82 in bcb299c
- Изменить
amqpссылку для обоих сервисовTestTaskLabInvent/docker-compose.yml
Line 27 in bcb299c
TestTaskLabInvent/docker-compose.yml
Line 54 in bcb299c