Nginx负载均衡

什么是Nginx
Nginx(engine x)是一个高性能的HTTP和反向代理服务器 , 具有内存少 , 高并发特点强 。1、处理静态文件 , 索引文件以及自动检索打开文件描述符缓冲2、无缓冲的反向代理加速 , 简单的负载均衡和容错为什么要做负载均衡?面临什么问题需要做负载均衡?
带着这个疑问 , 看下面的图

Nginx负载均衡

文章插图
 
【Nginx负载均衡】一个项目 , 多个客户端访问 , 假设Tomcat可以接受50个请求 , 当客户端同时发送请求达到80个 , 达到了tomcat的峰值 , 多余的请求怎么办?
在前提条件下 , tomcat等待队列设置为0 , 设置tomcat的最大工作线程数为50 , 当客户端发送80个并发请求到tomcat , tomcat只处理前50个 , 剩下的30个请求会拒绝处理 。出现这个情况肯定不希望客户访问不了服务器 , 这个时候就需要用到负载均衡 。
Nginx负载均衡

文章插图
 
看这个时候服务器就不会崩溃啦
图上说到会根据不同的算法进行分配请求 , 说几个常见的算法 。
 
轮询:为第一个请求选择健康池中的第一个后端服务器 , 然后按顺序往后依次选择 , 直到最后一个 , 然后循环 。最小连接:优先选择连接数最少 , 也就是压力最小的后端服务器 , 在会话较长的情况下可以考虑采取这种方式 。散列:根据请求源的 IP 的散列(hash)来选择要转发的服务器 。这种方式可以一定程度上保证特定用户能连接到相同的服务器 。如果你的应用需要处理状态而要求用户能连接到和之前相同的服务器 , 可以考虑采取这种方式 。是不是对nginx又多了一些了解呢?




    推荐阅读