1.负载均衡算法
- 轮询
- 依次分发,平均分担
- 请求处理压力近似
- 服务器性能差距不大
- 加权轮询
- 按权值大小,权值大处理多
- 请求处理压力近似
- 服务器性能差距较大
- 最小连接
- 按连接数,新建连接给连接数最小的服务器
- 处理压力和处理时间不同
- 服务器性能差距不大
- 加权最小连接
- 使已建立连接数和所配置的权值成比例,权值和服务器性能相关
- 处理压力和处理时间不同
- 性能差距不大
- 源地址端口哈希散列
- 源IP和源端口做成哈希散列,结果映射到真实服务器
- 同一IP和端口发起的请求必须在同一个真实服务处理
- 最小流量
- 分配流量给最小的服务器
- 处理时间不同
- 性能差距不大
- 加权最佳性能
- 根据真实服务连接数和性能权值分配服务
- 无特定规律
- 性能差距较大
- 最小响应时间
- 根据响应时间分配真实服务
- 业务情况复杂,连接时间长
- 性能差距不大
2.负载均衡层数
- 二层负载均衡
- 通过MAC地址互联,请求到虚拟MAC在分配真实MAC
- 三层负载均衡
- 通过IP互联,请求到虚拟IP,通过中间层转发到真实IP
- 四层负载均衡
- 通过IP+端口,请求到IP+端口,通过三层的IP地址加上四层端口号,决定那些流量需要做负载均衡,对需要的流量进行NAT处理,发布到后台服务器
- 主要通过报文中的目标地址和端口,再加上LB设备的策略,选择真实服务器
- LB设备在接收一个客户请求时,通过上述方法选择最佳服务器,并对报文中的IP地址和端口进行更改,发送到服务器
- TCP连接时客户端和服务器直接建立的,LB设备起到路由转发作用
- 七层负载均衡
- 通过URL请求连接,在四层负载上再对应用层进行分析
- 内容交换,通过报文中真正有意义的应用层内容,再加上LB策略选择服务器
- TCP连接时根据真正的应用层内容选择服务器(URL),先代理最终服务器与客户端建立连接,再跟最终服务器建立连接,类似代理服务器
- LB设备分别与客户端和服务器建立一次TCP连接
- 对LB设备要求更高,处理能力比4层低
- 优点
- 可以识别发送内容,对内容进行压缩或者缓存,提高智能化
- 更安全,4层所有的访问直接NAT转换传到服务器,7层将截止攻击报文,不影响服务器
3.DNS
- 什么是DNS
- 域名解析系统,将域名解析为IP地址,端口号53
- DNS代理
- 在DNS客户端和DNS服务器中间转发DNS请求和应答报文,局域网中客户端把代理当作服务器,将DNS请求报文发给代理,代理再将报文转发给真正的服务器,并将服务器报文转发给客户端,实现域名解析,使用代理后,真正服务器地址改变时,只更改代理服务器即可
- DNS透明代理
- 修改部分DNS请求报文的目的地址,将其修改为其他ISP的DNS服务地址,DNS请求转发到不同的ISP,解析后Web服务器也就属于不痛的ISP,解决只使用一条链路导致堵塞
- A记录
- 记录服务器IP,访问域名引导至A记录所对应得服务器
4.NAT
- 网络地址转换
- 将内网地址转换成公网地址,从而使内网用户可以访问公网
- 实现方式
- 静态转换
- 将内网转换成公网,一对一
- 动态转换
- 将内网转换成公网,外网IP不唯一,随机分配
- 端口多路复用(PAT)
- 端口地址转换,多路复用方式,内网主机共享一个外部IP
- ALG
- 应用程序级网关技术
- 静态转换
5.VRRP
- 虚拟路由器冗余协议
- 把多台路由器和三层交换机虚拟为一台设备,对外展现一个虚拟的IP