基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离

上一篇:基于Nginx的中间件架构(一):配置语法、Nginx模块、请求限制和访问控制、静态WEB服务

一、代理服务(理解

 代理 - 代为办理(如代理理财、代理收货等等)

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

1.1 代理分类

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

1.2 HTTP代理

正向代理:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

反向代理:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

1.3 配置语法

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

反向代理:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

正向代理:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

缓冲区:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

头信息:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

可以把公用配置文件提取到一个文件,然后引入,如"include proxy_params" 
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
 
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
 
proxy_buffer_size 32k;
proxy_buffering on;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;

二、负载均衡(重点

容灾处理:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

2.1 GSLB

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

2.2 SLB(常用!)

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

2.3 四层负载均衡和七层负载均衡

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

2.4 基于LVS的中间件架构

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

配置语法:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

2.5 负载均衡策略

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

2.6后端服务器在负载均衡调度中的状态

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

模拟downbackup可通过关闭端口:
iptables -I INPUT -p tcp --dport 8003 -j DROP

清理规则:
iptables -F

2.7 轮询策略与加权轮询

2.7.1 调度算法

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

ip_hash:解决了不同请求打到不同服务器问题,从而保证了
session
cookie的一致性。

缺点:客户端可能会再用一层代理**

url_hash:

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

三、缓存服务(理解

3.1 缓存类型

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

3.2 配置语法

$scheme #协议 http/https等
$proxy_host # 域名
$request_uri #请求参数


《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

3.3 清理指定缓存

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

3.4 让部分页面不缓存

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

3.5 大文件分片请求

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

四、动静分离

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

《基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、动静分离》

参考视频资料:Nginx入门到实践 不管是运维还是开发 Nginx都是你的必备技能

下一篇:基于Nginx的中间件架构(三):Rewrite规则、secure_link和Geoip读取地域信息模块、HTTPS服务

    原文作者:唐成勇
    原文地址: https://segmentfault.com/a/1190000013533956
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞