Проект разворачивается в 3 микросервиса - М1, М2 и rabbitmq.
Для развертывания проекта необходим докер.
Команда docker-compose up
соберет необходимые образы и запустит контейнеры. Необходимо дождаться подключения микросервисов M1 и M2 к rabbitmq. В логах обоих контейнеров должна появиться надпись [LOG] [connectQueue] success
Сервер по умолчанию запускается на 5000 порте. Чтобы изменить порт, создайте файл .env в корневой директории проекта и запишите туда переменную PORT
с желаемым числовым значением порта.
Сервер принимает POST запросы с телом в JSON формате вида:
{
"task": "capitalize",
"data": "i love programming"
}
В данном случае вернет
"I LOVE PROGRAMMING"
Поле task
может принимать значения:
- capitalize
- answerToLifeUniverseAndEverything
- longTask
Что соответствует трем доступным заданиям для сервиса М2.
capitalize
возвращает данные внутри data
в верхнем регистре. Время работы - 1 секунды.
answerToLifeUniverseAndEverything
возвращает ответ на вопрос жизни вселенной и всего, т.е. 42. Требует 4 секунды.
longTask
возвращает результат, который никогда не должен быть получен. Требует 10 секунд.
В сервисе М1 предусмотрено ограничение ожидания ответа от сервиса М2. Оно составляет 5 секунд. Поэтому результат последнего задания не будет получен пользователем, он получит ошибку таймаута.