作者:bl乄ue光耀 | 来源:互联网 | 2023-01-10 08:21
1.代理与反向代理
代理服务器:
代理
内部网络对
Internet的连接请求。
不支持外部对内部网络的访问请求。
反向代理服务器:
代理
外部网络上的主机访问
内部网络。
2.常见WEB负载均衡方法
(1)用户手动选择
常见于各个资源下载网站,用户自己手动选择从哪个服务器下载。
(2)DNS轮询方式
对同一主机名,添加多条
A记录,让其DNS轮询多个IP
可以通过Linux的dig命令查看域名解析情况:
dig xxx.baidu.com
DNS轮询的缺点:
A.可靠性低
B.负载分配不均衡
因此DNS轮询适用于可靠性要求不高的负载均衡,比如图片服务器集群、纯静态网页服务器集群等。
(3)四/七层负载均衡设备
通常作用与OSI的第四层或第七层
OSI:开放系统互连模型(Open System Interconnection)
具体7层 |
数据格式 |
功能与连接方式 |
典型设备 |
应用层 Application |
|
网络服务与使用者应用程序间的一个接口 |
网关 |
表示层 Presentation |
|
数据表示、数据安全、数据压缩 |
|
会话层 Session |
|
建立、管理和终止会话 |
|
传输层 Transport |
数据组织成数据段Segment |
用一个寻址机制来标识一个特定的应用程序(端口号) |
防火墙 |
网络层 Network |
分割和重新组合数据包Packet |
基于网络层地址(IP地址)进行不同网络系统间的路径选择 |
路由器 |
数据链路层 Data Link |
将比特信息封装成数据帧Frame |
在物理层上建立、撤销、标识逻辑链接和链路复用 以及差错校验等功能。通过使用接收系统的硬件地址或物理地址来寻址 |
网桥、交换机、网卡 |
物理层Physical |
传输比特(bit)流 |
建立、维护和取消物理连接 |
光纤、同轴电缆、 双绞线、中继器和集线器 |
3.多线多地区智能DNS解析与混合负载均衡方式
4.Nginx反向代理配置
使用反向代理之后,后端WEB服务器(以PHP为例),就不能直接通过$_SERVER['REMOTE_ADDR']变量来获取用户的真实IP了,这时获取的将是Nginx负载均衡服务器的IP。此时需要在Nginx反向代理时添加Header头信息X-Forwarded-For,让后端服务器能通过$_SERVER['HTTP-X-FORWORDED-FOR']获取用户真实IP。参考平时我们常用的获取用户IP的函数。
5.动静态网页分离
Citrix NetScaler 4-7层负载均衡器(基于TCP)
Nginx负载均衡架构
6.关键的Upstream模块
Upstream:Nginx负载均衡的主要模块,位于http之内,默认的负载均衡方式为轮询。
ip_hash:负载均衡时,将某个客户端IP的请求,通过哈希算法,定位到同一台后端服务器上,以解决session不共享的问题。
如果能做到session共享,还是不要用这个配置,因为其可能造成负载不均衡。
摘除负载均衡服务器,需要设置其down,而不是删除记录,删除记录可能造成session失效(原来的back1hash到back2上去了)
upstream backend{
ip_hash;
server back1.10jqka.com.cn;
server back2.10jqka.com.cn;
server back3.10jqka.com.cn down;
}
server
语法:
server name [parameters]
默认none
name可以是域名、IP、端口号、UNIX Socket
parameters可以是
7.负载均衡服务器的双机高可用
两种实现方式:
(1)一台主服务器加一台热备服务器
(2)两台负载均衡服务器