之前只了解Nginx相关的负载均衡,前段时间写RPC框架的时候涉及到LB这块,就去详细学习了些,在这里做个简单的总结。
参考资料:
- http://blog.51cto.com/virtualadc/591396
- http://www.jianshu.com/p/8a61de3f8be9
- http://blog.csdn.net/column/details/load-balancing.html
一、网络模型不同的层上的负载均衡
在LB这一块,我们常常会看到一些“四层负载均衡”、“七层负载均衡”之类的词。
这里的“层”对应着OSI七层模型,即:
二层负载均衡是通过改写报文的目标MAC地址为上游服务器MAC地址,源IP和目标IP地址不变,负载均衡服务器和真实服务器共享同一个VIP(Virtual IP),如LVS DR工作模式。
四层负载均衡,在接收到第一个来自客户端的SYN 请求时对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立ÿ