<返回更多

Nginx负载均衡

2021-09-02    程序梦
加入收藏

什么是Nginx

Nginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,高并发特点强。

1、处理静态文件,索引文件以及自动检索打开文件描述符缓冲
2、无缓冲的反向代理加速,简单的负载均衡和容错

为什么要做负载均衡?面临什么问题需要做负载均衡?

带着这个疑问,看下面的图

Nginx负载均衡

 

一个项目,多个客户端访问,假设Tomcat可以接受50个请求,当客户端同时发送请求达到80个,达到了tomcat的峰值,多余的请求怎么办?

在前提条件下,tomcat等待队列设置为0,设置tomcat的最大工作线程数为50,
当客户端发送80个并发请求到tomcat,tomcat只处理前50个,剩下的30个请求会拒绝处理。
出现这个情况肯定不希望客户访问不了服务器,这个时候就需要用到负载均衡。
Nginx负载均衡

 

看这个时候服务器就不会崩溃啦

图上说到会根据不同的算法进行分配请求,说几个常见的算法。

 

轮询:为第一个请求选择健康池中的第一个后端服务器,然后按顺序往后依次选择,直到最后一个,然后循环。

最小连接:优先选择连接数最少,也就是压力最小的后端服务器,在会话较长的情况下可以考虑采取这种方式。

散列:根据请求源的 IP 的散列(hash)来选择要转发的服务器。这种方式可以一定程度上保证特定用户能连接到相同的服务器。如果你的应用需要处理状态而要求用户能连接到和之前相同的服务器,可以考虑采取这种方式。

是不是对nginx又多了一些了解呢?

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>