前言
严格的来说nginx是实现反向代理的,lvs是负载均衡软件,但nginx的反向代理实现的功能效果也相当于负载均衡实现的效果,所以,不那么严格的说nginx也能实现负载均衡,特别是在企业中使用开源的nginx实现负载均衡还是比较常见的。
nginx反向代理
nginx的反向代理接受用户的请求后,会代理用户重新发送请求给其下的后端节点服务器(注意这里说的是代理用户重新发送请求),最后再把数据返回给前端用户。在节点服务器来看,访问节点服务器的是nginx代理服务器,而对用户来说,用户访问的是nginx代理服务器,用户并不知道后端的节点服务器。
LVS负载均衡软件
LVS是大名鼎鼎的负载均衡软件,LVS实现的功能是对用户的请求数据包的转发、传递,其中DR模式明显的特征就是从后端节点服务器来看,接收的请求还是来之前端用户。
7层负载均衡、4层负载均衡
根据URL进行实现代理转发应用的情况,我们称之为第7层(应用层)负载均衡,而LVS一般用于TCP等的转发,我们称之为第4层(传输层)负载均衡。
注意:我们所说的nginx重新发送,客户端到真正的后端服务器经历了2次tcp握手,第一次是客户端到nginx反向代理服务器,第二次是nginx到后端服务器,而使用lvs就没有这样,lvs是通过修改报文ip地址实现转发的,即客户端请求lvs服务器,lvs服务器修改ip地址转发请求,这中间只有客户端到lvs服务器的tcp请求。
版权声明:本文为MssGuo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。