Nginx 反向代理与负载均衡
简介
Nginx 是一个高性能的 HTTP 和反向代理服务器,支持负载均衡功能,可以有效地分配请求到多个服务器,提高系统的可用性和性能。
什么是反向代理
概念
当我们有一个服务器集群,并且服务器集群中的每台服务器的内容一样的时候,同样我们要直接从个人电脑访问到服务器集群服务器的时候无法访问,必须通过第三方服务器才能访问集群。
特点
这个时候,我们通过第三方服务器访问服务器集群的内容,但是我们并不知道是哪一台服务器提供的内容,此种代理方式称为反向代理。
什么是负载均衡
公司会建立很多的服务器,这些服务器组成了服务器集群。当用户访问网站的时候:
- 先访问一个中间服务器(Nginx)
- 中间服务器在服务器集群中选择一个压力较小的服务器
- 将该访问请求引入选择的服务器
作用
用户每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。
💡 一句话总结:Nginx 会给你分配服务器压力小的去访问
Nginx 反向代理与负载均衡的实现
基本流程
用户访问网站的时候首先会访问 Nginx 服务器,然后 Nginx 服务器再从服务器集群中选择压力较小的服务器,将该访问请求引向该服务器。
工作原理
用户请求 → Nginx 服务器 → 选择合适的后端服务器 → 转发请求 → 返回响应
通过这种方式,Nginx 实现了请求的合理分配和服务器负载的均衡。