# Примеры тестирования микросервисов через API Gateway ## Структура проекта ``` . ├── postman # Готовые ручки для Postman ├── service_1_main.py # User Service ├── service_2_main.py # Order Service ├── requirements.txt # Зависимости ├── Dockerfile.service1 # Docker образ для Service 1 ├── Dockerfile.service2 # Docker образ для Service 2 ├── kakend-config.json # Конфигурация Krakend API Gateway └── docker-compose.yaml # Конфигурация Docker Compose ``` ## Запуск ```bash docker-compose up -d --build # или так, если ссыкло docker-compose up --build ``` ## Тест Бля, скачай Postman и не еби мозги. Должен подхватить ручки из репы - если нет, тогда лох, пиши запросы сам. ## Ручки ### API Gateway - Угадай - **Порт**: 8000 - **Функционал**: Проксирование запросов, единая точка входа - **Endpoints**: - `GET /health` - Health check (Мне в падлу что-то еще прикручивать) ### Service 1 - User Service - **Порт**: 8001 - **Функционал**: Управление пользователями (Крудошлепство) - **Endpoints**: - `GET /` - Проверка статуса - `GET /health` - Health check - `GET /users` - Список пользователей - `GET /users/{id}` - Получить пользователя - `POST /users` - Создать пользователя - `PUT /users/{id}` - Обновить пользователя - `DELETE /users/{id}` - Удалить пользователя - `GET /stats` - Статистика ### Service 2 - Order Service - **Порт**: 8002 - **Функционал**: Управление продуктами и заказами (Крудошлепство 2) - **Endpoints**: - `GET /` - Проверка статуса - `GET /health` - Health check - `GET /products` - Список продуктов - `GET /products/{id}` - Получить продукт - `POST /products` - Создать продукт - `PUT /products/{id}` - Обновить продукт - `DELETE /products/{id}` - Удалить продукт - `GET /orders` - Список заказов - `GET /orders/{id}` - Получить заказ - `POST /orders` - Создать заказ - `GET /stats` - Статистика ## Логирование и мониторинг Оба сервиса включают: - Встроенное логирование (INFO уровень) - Health check endpoints - Метрики статистики - Документацию Swagger на ручках /docs