Files
api-gateway/README.md
T
2025-09-14 13:07:54 +05:00

88 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```