API Gateway Pattern
API, Gateway, EK, SINGLE, ENTRY, POINT, hai, SAARE, CLIENT, requests, ke, liye — YE, requests, ko, APPROPRIATE, microservices, tak, ROUTE, karta hai, aur, CROSS-CUTTING, CONCERNS, (authentication, rate limiting, logging) CENTRALLY, HANDLE, karta hai.
Bina, gateway, ke, HAR, client, ko, SAARI, services, ke, LOCATIONS, PATA, HONE, CHAHIYE, aur, HAR, service, ko, apna, AUTH/RATE-LIMITING, LOGIC, DUPLICATE, karna, PADТA, hai — gateway, YE, LOGIC, CENTRALIZE, karta hai.
// Client, sirf, gateway, se, TALK, karta hai:
// client → api-gateway.example.com/orders → order-service (internal)
// client → api-gateway.example.com/users → user-service (internal)
// Gateway, HANDLE, karta hai: auth, rate-limiting, request routing- API Gateway = single entry point, requests, ko, route, karta, hai
- Cross-cutting concerns (auth, rate limiting) CENTRALLY, HANDLE, hote, hain
- Clients, ko, individual, services, ke, locations, jaanne, ki, ZAROORAT, nahi
API, gateway, EK, "single, point, of, failure" ban, sakta hai — agar, WOH, DOWN, ho, jaaye, POORA, system, unreachable, ho, jaata hai — isliye, gateway, ko, HAMESHA, HIGHLY, AVAILABLE, (MULTIPLE, instances, load-balanced) DEPLOY, kiya, jaata hai.
API, gateway, MULTIPLE, backend, services, se, response, ko, AGGREGATE, karके, EK, single, client, response, mein, COMBINE, kar, sakta hai — client, ko, MULTIPLE, round-trips, karne, ki, ZAROORAT, khatam, ho, jaati hai.
// Gateway, aggregates:
const [user, orders] = await Promise.all([
fetch("http://user-service/users/1"),
fetch("http://order-service/orders?userId=1")
]);
return { user, orders }; // single, combined, response