Что такое API-композиция в микросервисной архитектуре
Python
Middle
Без компании
Что такое API-композиция в микросервисной архитектуре
Ответы
API-композиция — это подход в микросервисной архитектуре, когда клиент взаимодействует с несколькими микросервисами через единый агрегирующий API-шлюз или сервис-композитор. Вместо прямых вызовов к каждому микросервису, клиент делает один запрос, а композитор собирает данные из нужных сервисов и возвращает объединённый результат.
**Пример с кодом (Python + FastAPI):**
```
from fastapi import FastAPI
import httpx
app = FastAPI()
@app.get("/order-details/{order_id}")
async def get_order_details(order_id: int):
async with httpx.AsyncClient() as client:
# Параллельные запросы к микросервисам
order_res, user_res = await asyncio.gather(
client.get(f"http://orders-service/orders/{order_id}"),
client.get(f"http://users-service/users/{user_id}")
)
return {
"order": order_res.json(),
"user": user_res.json()
}
```
**Плюсы:**
- Уменьшает количество вызовов от клиента
- Скрывает сложность внутренней архитектуры
- Централизованная обработка ошибок
**Минусы:**
- Риск создания "монолитного шлюза"
- Дополнительная точка отказа
- Возможные проблемы с производительностью