负载均衡策略
1. HTTP重定向
当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向。通过重定向,来达到“负载均衡”的目标
这个方式非常容易实现,并且可以自定义各种策略,但是,它在大规模访问量下,性能不佳,而且,给用户的体验也不好,实际请求发生重定向,增加了网络延时
所以此方式了解即可,实际应用较少
2. 反向代理负载均衡
反向代理服务的核心工作主要是转发HTTP请求,扮演了浏览器端和后台Web服务器中转的角色。因为它工作在HTTP层(应用层),也就是网络七层结构中的第七层,因此也被称为“七层负载均衡”
可以做反向代理的软件很多,比较常见的一种是Nginx,Nginx是一种非常灵活的反向代理软件,可以自由定制化转发策略,分配服务器流量的权重等
优点
实现和部署非常简单,性能也很好,可以方便的自定义转发规则
缺点
有“单点故障”的问题,如果挂了,会带来很多的麻烦,而且,随着Web服务器继续增加,它本身可能成为系统的瓶颈
3. IP负载均衡
原理是,他是对IP层的数据包的IP地址和端口信息进行修改,达到负载均衡的目的
在负载均衡服务器收到客户端的IP包的时候,会修改IP包的目标IP地址或端口,然后原封不动地投递到内部网络中,数据包会流入到实际Web服务器。实际服务器处理完成后,又会将数据包投递回给负载均衡服务器,它再修改目标IP地址为用户IP地址,最终回到客户端
因为它工作在网络层,也就是网络七层结构中的第4层,因此也被称为“四层负载均衡”
常见的负载均衡方式,是LVS(Linux Virtual Server,Linux虚拟服务),通过IPVS(IP Virtual Server,IP虚拟服务)来实现
优点
性能比反向代理负载均衡高很多,非常稳定
缺点
功能单一,配置复杂
4. DNS负载均衡
DNS(Domain Name System)负责域名解析的服务,域名url实际上是服务器的别名,实际映射是一个IP地址,解析过程,就是DNS完成域名到IP的映射。而一个域名是可以配置成对应多个IP的。因此,DNS也就可以作为负载均衡服务
优点
配置简单,性能极佳
缺点
不能自由定义规则,而且,变更被映射的IP或者机器故障时很麻烦,还存在DNS生效延迟的问题
Copyright © 启程