nginx集群

nginx集群概念

nginx集群就是使用nginx将多个后端rs 业务服务器串联起来,统一向外界提供服务。

nginx在集群中扮演的角色:分发器

nginx在集群中的任务:接收请求、分发请求、响应请求

功能模块:1)ngx_http_upstream_module 处理7层分发    2)ngx_stream_core_module 处理4层分发,1.9版本开始支持该模块

 

nginx集群原理

原理:虚拟主机+反向代理+upstream分发模块

虚拟主机:接受和响应请求

反向代理:配置接受的数据在反向代理内找对应的upstream模块

upstream:配置真正后端rs的信息,nginx的请求命中upstream就会根据upstream中的配置方式将请求转给后端rs

 

轮询  权重  ip_hash转发

实验环境信息

nginx分发器:192.168.43.133   业务服务器RS1:192.168.43.132    业务服务器RS2:192.168.43.129;为了方便测试,RS1 RS2业务服务器也使用nginx部署

RS1索引页配置

nginx集群

 

 RS2索引页配置

nginx集群

 

 nginx分发器配置

nginx集群

 

 

轮询转发

默认upstream配置发往后端rs是轮询转发,测试效果如下。

应用场景:后端rs性能基本相当,且后端提供的都是静态资源

nginx集群

 

 

 

根据权重转发

后端rs设置不同权重,nginx转发器按照rs权重将请求转发给后端rs。

应用场景:后端rs性能差异较大,且后端提供的都是静态资源

nginx转发器配置

nginx集群

请求转发器测试实验,后端rs按照设置的权重比例收到转发器转发的请求

 nginx集群

 

 

ip_hash转发

nginx转发器可以根据源ip hash来选择rs转发,这样能够保证相同源ip的请求能够被分配到同一个后端rs上。

nginx转发器配置

nginx集群

 

 Ip_hash转发效果实验,相同源地址的请求总是发给同一个后端RS

nginx集群

 

 

 

后端rs设置down状态

当后端rs在upstream配置中被设置为down状态时nginx转发器就不会向该rs转发请求了,一般和后端rs的健康检查联动

nginx转发器配置

nginx集群

 

 转发效果测试,即使配置轮询转发测试时不会向down状态的rs转发请求

nginx集群

 

上一篇:Nginx配置upstream实现负载均衡


下一篇:nginx 常用配置