In many system designs, Nginx appears between clients and application servers as a reverse proxy, load balancer, TLS termination point, static file server, cache, API gateway, or rate limiter.
Its value is practical: it handles I/O-heavy HTTP work efficiently and keeps that work out of application servers.
This chapter focuses on the parts that matter in system design interviews: architecture, reverse proxying, load balancing, caching, TLS termination, rate limiting, high availability, and trade-offs against HAProxy, Envoy, Apache, and cloud load balancers.
The diagram shows how a client request enters Nginx, gets accepted by one of the worker processes, runs through the event loop, and is proxied to an upstream backend, while the master process supervises the workers above the request path.