Why Nginx Dominates: History, Proxy Types, and Load‑Balancing Algorithms Explained
This article explores Nginx's origins, why it outperformed Apache, its core features such as event‑driven architecture and modularity, explains forward and reverse proxy concepts, and details the load‑balancing algorithms Nginx supports, providing practical insights for backend engineers.
Origin of Nginx
Nginx was created by Russian engineer Igor Sysoev while working at Rambler Media, using the C language. After proving its stability for Rambler, Sysoev released the source code under a free software license, making it publicly available.
Why Nginx Became Popular
Event‑driven architecture enables support for millions of concurrent TCP connections.
Highly modular design and a permissive open‑source license foster a rich ecosystem of third‑party modules.
Cross‑platform support (Linux, Windows, FreeBSD, Solaris, AIX, macOS) gives it broad applicability.
These design choices translate into exceptional stability and performance.
Use Cases of Nginx
Nginx functions as a high‑performance HTTP server, a reverse proxy, and also provides IMAP, POP3, and SMTP proxy capabilities. It can serve static websites, act as a load‑balancer, and terminate SSL connections.
Proxy Concepts
Forward Proxy
A forward proxy sits between a client and the target server. The client must configure the proxy’s IP address and port. The proxy forwards the request to the origin server and returns the response, effectively hiding the client’s identity.
Access resources blocked in the client’s network (e.g., Google).
Cache content to accelerate subsequent accesses.
Enforce authentication and authorization for outbound traffic.
Record user activity for monitoring or compliance.
Reverse Proxy
A reverse proxy sits in front of one or more backend servers. Clients access the proxy without needing any configuration; the proxy transparently forwards requests to appropriate backend services, hiding server details and enabling load distribution.
Typical scenario: large e‑commerce sites (e.g., Taobao) use Nginx as a reverse proxy, often wrapped in a custom solution such as Tengine.
Load Balancing in Nginx
Nginx distributes incoming requests among backend servers according to defined algorithms, balancing load and improving reliability. Load balancing can be implemented in software (Nginx) or hardware (e.g., F5), each with trade‑offs in cost and performance.
Supported Algorithms
weight (round‑robin) : Requests are assigned sequentially; each server can be given a weight to receive a proportionally larger share of traffic.
ip_hash : The client’s IP address is hashed, ensuring that the same client consistently reaches the same backend server, which helps with session persistence.
fair : Dynamically adjusts distribution based on each server’s response time; requires the upstream_fair third‑party module because Nginx does not support it natively.
url_hash : Requests are hashed based on the URL, directing the same URL to a specific backend server; also requires an additional hash module.
Web Server Comparison
The article includes a comparative chart of common web servers, highlighting Nginx’s advantages in performance, scalability, and resource usage.
http://tengine.taobao.org/Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java Architect Essentials
Committed to sharing quality articles and tutorials to help Java programmers progress from junior to mid-level to senior architect. We curate high-quality learning resources, interview questions, videos, and projects from across the internet to help you systematically improve your Java architecture skills. Follow and reply '1024' to get Java programming resources. Learn together, grow together.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
