基于Nginx的中间件架构(二):代理服务、负载均衡、缓存服务、
2020-09-29 本文已影响0人
PHP9年架构师
一、代理服务(理解)
代理 - 代为办理(如代理理财、代理收货等等)
![](https://img.haomeiwen.com/i20190641/93a18d12ca6fd200.gif)
![](https://img.haomeiwen.com/i20190641/fe351d69afc3300a.png)
![](https://img.haomeiwen.com/i20190641/c2fdc714ab18a7f1.gif)
1.1 代理分类
![](https://img.haomeiwen.com/i20190641/9ea2cd22d7129c80.png)
![](https://img.haomeiwen.com/i20190641/279fb3e89752b885.gif)
10年架构师领你架构-成长之路-(附面试题(含答案))
(腾讯T3-T4)打造互联网PHP架构师教程目录大全,只要你看完,薪资立马提升2倍(持续更新)
1.2 HTTP代理
正向代理:
![](https://img.haomeiwen.com/i20190641/c7749cfe8958870c.png)
![](https://img.haomeiwen.com/i20190641/1276b882b25e4e81.gif)
反向代理:
![](https://img.haomeiwen.com/i20190641/d958afa691bb3a4d.png)
![](https://img.haomeiwen.com/i20190641/5f2e8b5a9146ae7c.gif)
![](https://img.haomeiwen.com/i20190641/4d8529a56d72eecb.png)
![](https://img.haomeiwen.com/i20190641/d0fe605457fd1882.gif)
1.3 配置语法
![](https://img.haomeiwen.com/i20190641/5f1ef915f1b70154.png)
![](https://img.haomeiwen.com/i20190641/9b24b5aaf6500231.gif)
反向代理:
![](https://img.haomeiwen.com/i20190641/9f84883175c7453c.png)
![](https://img.haomeiwen.com/i20190641/260bf76200a67685.gif)
正向代理:
![](https://img.haomeiwen.com/i20190641/545528b36d05cf42.png)
![](https://img.haomeiwen.com/i20190641/e2520bf122ce0efa.gif)
缓冲区:
![](https://img.haomeiwen.com/i20190641/1152f70833c90d27.png)
![](https://img.haomeiwen.com/i20190641/df004d38ad57369a.gif)
头信息:
![](https://img.haomeiwen.com/i20190641/031b33bdf3a9f3ce.png)
![](https://img.haomeiwen.com/i20190641/ed7b770ffaa835e2.gif)
![](https://img.haomeiwen.com/i20190641/5d771c371a025f6e.png)
![](https://img.haomeiwen.com/i20190641/917743ab0c35e910.gif)
可以把公用配置文件提取到一个文件,然后引入,如"include proxy_params"
![](https://img.haomeiwen.com/i20190641/7d4be82184c691df.gif)
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;
![](https://img.haomeiwen.com/i20190641/0fac2126b93d2cb4.gif)
二、负载均衡(重点
)
容灾处理:
![](https://img.haomeiwen.com/i20190641/db88eec8b998b057.png)
![](https://img.haomeiwen.com/i20190641/37802964b6a15772.gif)
2.1 GSLB
![](https://img.haomeiwen.com/i20190641/15e6e9e06b5ed60f.png)
![](https://img.haomeiwen.com/i20190641/138bd4a2f6053b7d.gif)
感谢大家一直来支持,这是我准备的1000粉丝福利
【1000粉丝福利】10年架构师分享PHP进阶架构资料,助力大家都能30K
2.2 SLB(常用!
)
![](https://img.haomeiwen.com/i20190641/ec0444e8ac201b6f.png)
![](https://img.haomeiwen.com/i20190641/286f1351eb226127.gif)
2.3 四层负载均衡和七层负载均衡
![](https://img.haomeiwen.com/i20190641/9337afa0cea4b05c.png)
![](https://img.haomeiwen.com/i20190641/2d38486b25a32e3b.gif)
![](https://img.haomeiwen.com/i20190641/17561b02e7ecd6dd.png)
![](https://img.haomeiwen.com/i20190641/3bb7d81bc5509ce1.gif)
2.4 基于LVS的中间件架构
![](https://img.haomeiwen.com/i20190641/ea5163b20efc4bd6.png)
![](https://img.haomeiwen.com/i20190641/6cbaf529e51fa2e5.gif)
配置语法:
![](https://img.haomeiwen.com/i20190641/6614dce4c707720c.png)
![](https://img.haomeiwen.com/i20190641/159fdffdace7e328.gif)
2.5 负载均衡策略
![](https://img.haomeiwen.com/i20190641/43755576876a19b3.png)
![](https://img.haomeiwen.com/i20190641/7edf739a120320b1.gif)
2.6后端服务器在负载均衡调度中的状态
![](https://img.haomeiwen.com/i20190641/f0beba0e5f8224b2.png)
![](https://img.haomeiwen.com/i20190641/95aa70e26226b91f.gif)
模拟
down
和backup
可通过关闭端口:iptables -I INPUT -p tcp --dport 8003 -j DROP
清理规则:iptables -F
2.7 轮询策略与加权轮询
2.7.1 调度算法
![](https://img.haomeiwen.com/i20190641/3ffc8f0d28cd7a8d.png)
![](https://img.haomeiwen.com/i20190641/3da74d433a9b43b2.gif)
ip_hash
:解决了不同请求打到不同服务器问题,从而保证了session
和cookie
的一致性。缺点:
客户端可能会再用一层代理
**
url_hash:
![](https://img.haomeiwen.com/i20190641/f0ec462693b87f0f.png)
![](https://img.haomeiwen.com/i20190641/251868fe57cd2206.gif)
![](https://img.haomeiwen.com/i20190641/224e9e66274fa39a.png)
![](https://img.haomeiwen.com/i20190641/58cb68d77dd9a37b.gif)
三、缓存服务(理解)
3.1 缓存类型
![](https://img.haomeiwen.com/i20190641/11bce21d9fdfebf2.png)
![](https://img.haomeiwen.com/i20190641/089ff1caa27957ab.gif)
![](https://img.haomeiwen.com/i20190641/c79cc7261257c36f.png)
![](https://img.haomeiwen.com/i20190641/a4e487c99788a70c.gif)
大厂2000道面试题(含答案)
PHP面试题汇总,看完这些面试题助力你面试成功,工资必有20-25K
3.2 配置语法
$scheme #协议 http/https等
$proxy_host # 域名
$request_uri #请求参数
![](https://img.haomeiwen.com/i20190641/36f9e0d2bb5d0025.gif)
![](https://img.haomeiwen.com/i20190641/9c0c71063912bf7a.png)
![](https://img.haomeiwen.com/i20190641/188894d589ada9d1.gif)
3.3 清理指定缓存
![](https://img.haomeiwen.com/i20190641/18c6523475c75a52.png)
![](https://img.haomeiwen.com/i20190641/8856dc7fb9fa2f12.gif)
3.4 让部分页面不缓存
![](https://img.haomeiwen.com/i20190641/506da93859b6e8b3.png)
![](https://img.haomeiwen.com/i20190641/9e6c1c7007f94c29.gif)
![](https://img.haomeiwen.com/i20190641/1612c519cd58530f.png)
![](https://img.haomeiwen.com/i20190641/a3fd1a8938452720.gif)
3.5 大文件分片请求
![](https://img.haomeiwen.com/i20190641/a408d51654db0426.png)
![](https://img.haomeiwen.com/i20190641/8ffc52adeab1f00d.gif)
![](https://img.haomeiwen.com/i20190641/47db287cf49c8064.png)
![](https://img.haomeiwen.com/i20190641/0b54f0b22805ea17.gif)
![](https://img.haomeiwen.com/i20190641/a98439351b39a4a8.png)
![](https://img.haomeiwen.com/i20190641/ba5e29636c3f2f35.gif)
四、动静分离
![](https://img.haomeiwen.com/i20190641/23f6775823498425.png)
![](https://img.haomeiwen.com/i20190641/1c7d2949df63dfc1.gif)
![](https://img.haomeiwen.com/i20190641/8c484624445d6bee.png)
![](https://img.haomeiwen.com/i20190641/8071955274f85572.gif)
![](https://img.haomeiwen.com/i20190641/c8ae930661b92f33.png)
![](https://img.haomeiwen.com/i20190641/aa00265fec5bce26.gif)
喜欢我的文章就关注我吧,持续更新中.....
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以点击进入暗号:知乎。