Arquitectura de API Gateway
Un gateway es un borde: auth, ruteo y agregación gruesa. No debería convertirse en el lugar donde se esconden las reglas de negocio.
Experiencia personal
ProCrédito v2 pone un API gateway delante de microservicios Laravel (seguridad, settings, obligaciones, clientes). El gateway autentica y rutea; no posee las reglas de obligación.
Perspectiva técnica
Pon en el borde lo que toda petición necesita: terminación TLS, autenticación, rate limits, request IDs, ruteo. No pongas ahí “cómo se calcula un descuento”. Esa regla pertenece a un dominio que se puede probar sin levantar el borde.
Los backends-for-frontends son legítimos cuando un storefront y una consola admin necesitan agregados distintos. No lo son como una segunda capa de dominio que reimplementa servicios.
Timeouts y reintentos pertenecen al gateway con un presupuesto. Reintentar un POST no idempotente desde el borde es cómo cobras dos veces. Propaga un correlation ID y deja de inventar uno en cada servicio.
Architecture
Responsabilidades de borde, dominio detrás
Client
API Gateway
Auth, route, limits
Service A
Service B
Service C
Perspectiva técnica. El gateway rutea; los servicios poseen las reglas.