今天小普和大家分享下,在最近的学习过程中,关于几个负载均衡技术的理解,以及几个实现的原理和关键点,希望对各位读者朋友有收获。
1
http重定向协议实现负载均衡
根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问。
原理图如下图所示:
优点:实现比较简单
2
dns域名解析负载均衡
如下图所示:
缺点:dns服务器存在缓存效应,如果真实的后端服务器宕机,客户端的请求也有可能依然被调度到有问题的服务器上。
3
反向代理负载均衡
反向代理处于web服务器这边,反向代理服务器提供负载均衡的功能,同时管理一组web服务器,它根据负载均衡算法将请求的浏览器访问转发到不同的web服务器处理,处理结果经过反向服务器返回给浏览器。
这类常见的软件有nginx,haproxy。
如下图所示:
优点:使用了反向代理服务器后,真正的后端服务器可以使用内网地址,节约公网ip资源,有效阻断恶意的访问
4
数据链路层负载均衡
在数据链路层修改Mac地址进行负载均衡。在网络中存在一个负载均衡调度器,负责将来自客户端的请求报文,通过修改mac地址,转送到后端的服务器,然后让后端的服务器直接响应客户端的请求。目前连路程负载均衡是特别常见的一种手段,典型的一种技术是LVS。
如下图所示:
优点:由于lvs不是使用套接字的机制,而是直接经由内核进行操作,突破了套接字65535的限制,理论上可以达到百万级别的响应。
本期的干货分享就到这里啦,希望对你有所帮助。小普也在这里预告下一次的干货,将会和大家分享,关于web cache的一些个人理解以及简单的实现方式。
领取专属 10元无门槛券
私享最新 技术干货