资料来源于:B站:遇见狂胜说
背景
对于一个项目初期,只需要一个单体服务器就可以
但是当用户量变多时,
此时,一台服务器,已经无法满足需求!
解决方法:多几台服务器!于是就出现了中间件问题
总服务器————代理服务器————自动配置关联多个服务器————反向代理
但是多添加的服务器内存和配置也都不一样————负载均衡
架构上的问题,没有什么是加一层解决不了的
1. 什么是Nginx?
2. 正向代理
VPN:我的服务器先跳转到香港 再从香港到国外的网站!—就是正向代理。
正弦代理:代理客户端的 在本机安装!
3. 反向代理
反向代理:代理服务端的 让用户感觉不到后面是多态服务器!更好上线.
4. 负载均衡
Nginx 提供的负载均衡策略有2种:
- 内置策略:
- 轮询
- 加权轮询
- Ip hash
- 扩展策略
这就五花八门的了,天马行空。
轮询:就是依次发送,比如第一到第一台,第二到第第二台,第三…。没有了 就再次从第一台循环。
加权轮询 : 权重大的服务器,说明配置和硬件比较优秀!大量请求发送到权重大的服务器。保证服务器性能最大化。
IpHash: session 都存在tomcat中 当服务器多了 session 也就多了,所以就无法共享了,解决方案一:使用redis。
方案二:就是这个算法,可以计算出每个ip 只能去一个服务器。所有的操作都去固定的一台服务器。但是当这个固定服务器崩了,信息也就消失了!
5. 实现动静分离
就是把静态资源放在Nginx服务器上:提高性能。