API Gateway и Go. Роль и реализация.

Ответ

API Gateway - единая точка входа: маршрутизация по пути/хосту к бэкендам, аутентификация, rate limiting, агрегация ответов. В Go можно реализовать gateway как HTTP-сервер с reverse proxy (httputil.ReverseProxy) и middleware (auth, limit). Или использовать готовые (Kong, Envoy) и конфигурировать. Для простых сценариев достаточно Nginx/Envoy; кастом на Go - при сложной логике маршрутизации и агрегации.

proxy := httputil.NewSingleHostReverseProxy(backendURL)
proxy.Director = func(r *http.Request) {
    r.URL.Host = backendURL.Host
    r.URL.Scheme = backendURL.Scheme
}
http.Handle("/api/", authMiddleware(proxy))
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.