nginx设置负载均衡
......
why负载均衡,随着企业业务增长和海量请求,给服务端造成海量并发,导致响应不及时需扩容后端服务,前端需要负载均衡,均摊请求,让服务端吞吐请求的能力提升
单点服务方式,一个点挂掉整个服务就挂掉;而多点服务挂掉一两个,其他的仍可以继续运行
- GSLB 全局负载均衡,面对的往往是国家级服务架构,按地域划分:左为北京,右为新疆,通常企业很少使用GSLB,而是选择使用一些云服务或者第三方整体设备
- SLB:服务节点和调度节点在一个逻辑单元里面,(小的逻辑定义域)nginx属于此级别
- 四层负载均衡/七层负载均衡----按照OSI模型分类
四层(传输层)负载均衡:已经支持到TCP/IP协议的维度,TCP/IP包转发,只需要包的转发就可以,主需要对底层进行应用处理,优点是速度快
七层负载均衡,主要是针对应用层的负载均衡,例如http的负载均衡,实现http头信息的改写,安全应用规则控制,redirect等等
-----4层负载均衡
--------7层负载均衡
nginx是一个典型的7层LSB!!
原理:proxy_pass是代理配置变量
nginx把proxy_pass转发到虚拟的服务器池里,实现对up_stream组中服务器的轮询完成任务分发的功能
语法配置:注意!只能配置在http{}以内,server{}以外,否则导致语法出现问题
- 测试准备
准备3台后端服务器,分别监听8008,8002,8003端口返回3个不同的html
三个服务对应三个端口
配置负载均衡服务器
三次访问结果
模拟一个场景:关闭其中一个端口8002
测试结果:只有8001和8003对应的网址能返回结果