88 lines
2.4 KiB
Markdown
88 lines
2.4 KiB
Markdown
# API Gateway
|
||
|
||
Spring Cloud Gateway с маршрутизацией по умолчанию для konturai.kz
|
||
|
||
## Описание
|
||
|
||
API Gateway настроен для маршрутизации запросов:
|
||
|
||
- `/api/parser/**` → `parser-service:8080` (высокий приоритет)
|
||
- Все остальные запросы → `core-service:8080` (fallback)
|
||
|
||
## Запуск с Docker
|
||
|
||
### Быстрый запуск
|
||
|
||
```bash
|
||
# Сборка и запуск всех сервисов
|
||
docker-compose up --build
|
||
|
||
# Запуск в фоновом режиме
|
||
docker-compose up -d --build
|
||
```
|
||
|
||
### Отдельная сборка API Gateway
|
||
|
||
```bash
|
||
# Сборка образа
|
||
docker build -t api-gateway .
|
||
|
||
# Запуск контейнера
|
||
docker run -p 80:80 api-gateway
|
||
```
|
||
|
||
## Тестирование
|
||
|
||
После запуска доступны следующие эндпоинты:
|
||
|
||
### Через API Gateway (порт 80)
|
||
|
||
- `http://localhost/` - Core Service (fallback)
|
||
- `http://localhost/health` - Core Service
|
||
- `http://localhost/api/users` - Core Service
|
||
- `http://localhost/api/parser/` - Parser Service
|
||
- `http://localhost/api/parser/items` - Parser Service
|
||
|
||
### Прямое обращение к сервисам
|
||
|
||
- `http://localhost:8080/` - Core Service
|
||
- `http://localhost:8081/` - Parser Service
|
||
|
||
## Структура проекта
|
||
|
||
```
|
||
api-gateway/
|
||
├── src/main/java/ # Java исходный код
|
||
├── src/main/resources/ # Конфигурация
|
||
│ └── application.yml # Конфигурация Gateway
|
||
├── Dockerfile # Docker образ
|
||
├── docker-compose.yml # Docker Compose конфигурация
|
||
├── .dockerignore # Исключения для Docker
|
||
└── README.md # Документация
|
||
```
|
||
|
||
## Конфигурация
|
||
|
||
### Маршруты
|
||
|
||
- **Parser Service**: `order: 1` (высокий приоритет)
|
||
- **Core Service**: `order: 100` (низкий приоритет, fallback)
|
||
|
||
### CORS
|
||
|
||
Настроен для поддержки кросс-доменных запросов со всех источников.
|
||
|
||
### Логирование
|
||
|
||
Включено DEBUG логирование для отладки маршрутизации.
|
||
|
||
## Остановка
|
||
|
||
```bash
|
||
# Остановка всех сервисов
|
||
docker-compose down
|
||
|
||
# Остановка с удалением volumes
|
||
docker-compose down -v
|
||
```
|