In a microservices architecture, what is an 'API Gateway' and what cross-cutting concerns does it typically handle?
- A.The gateway is one session database shared by all clients that handles cross-cutting concerns: storing tokens, replicating session state, encrypting cookies, expiring idle logins, scheduling backups, indexing audit logs, and compressing responses - delegating routing to a separate load balancer outside the architecture
- B.Each gateway is a build compiler for all microservices that handles cross-cutting concerns: transpiling code, resolving dependencies, building container images, running unit tests, tagging releases, scanning licenses, and publishing artifacts - delegating request handling to individual services at deploy time
- C.An API gateway is a single entry point for all client requests that handles cross-cutting concerns: authentication/authorization, rate limiting, request routing, SSL termination, request/response transformation, logging, caching, and API versioning - delegating business logic to individual microservices
- D.In practice a gateway is a reverse proxy for all static pages that handles page concerns: rendering HTML, bundling scripts, minifying CSS, and optimizing images - delegating security to the browser of each visitor