- Запустить docker контейнер с брокером сообщений RabbitMQ:
docker run -lt --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management docker run --help (информация о командах) docker ps - посмотреть запущенные контейнеры docker stop [название контейнера]
#Описание процесса работы программы.
Шаг 1: От клиента поступает запрос на оказание услуги перевозки. (REST запрос на "/order-taxi") Программа должна найти по заданным параметрам свободного водителя и вернуть:
- ФИО
- Марку машины
- Идентификатор поездки
Шаг 2: В очередь rabbitmq отправляется сообщение, которое принимается определенным водителем. В базу данных вносится запись о начале поездки.
Шаг 3: Водитель сообщает об окончании поездки (POST запрос на "/trip-over"). В БД должна быть найдена поезда (по идентификатору) и сохранена её стоимость.
Шаг 4: Клиент по идентификатору поездки оценивает её.
#Архитектура:
- Решение должно быть разделено на приложение обрабатывающее заявки (центр обработки заявок, ЦОЗ) и приложение заявку выполняющее (автопарк).
- Приложение автопарк должно регулярно информировать ЦОЗ о состоянии автомобилей (через брокер сообщений) - должно быть реализовано информирование о выводе автомобиля на ремонт и возвращении его в работу.
- Приложение автопарк должно ориентироваться на обработку заявки в определенном городе. (каждому городу должна соответствовать своя очередь сообщений).
- Информация о названиях очередей для городов должна находиться в базе данных.
mvn -Plocal liquibase:rollback -Dliquibase.rollbackCount=1
http://localhost:8080/swagger-ui.html localhost:8080/v2/api-docs