为什么采用nginx+lvs的架构

nginx和lvs都作为反向代理的代表,都有什么不同呢

nginx是基于第七层协议开发的,采用异步转发的原则,即在保持客户端链接的同时新起一个链接到负载均衡的服务端,等待服务端返回数据再返回给客户端。这么做有一个好处,nginx可以失败转移(failover),即如果和某个服务端的链接不通畅,可以换一个链接,可以服务的稳定性。

lvs是基于第四层协议开发的,采用同步转发的原则,即lvs监听到端口有链接时,会直接redirect到服务端,让服务端直接与客户端进行链接。这样做有一个弊端,就是一锤子买卖,如果请求失败了不会再做失败转移。

那么为什么有了nginx还有lvs

  • 因为nginx这种转发模式注定所有流量都要打在nginx上,有带宽瓶颈。lvs实际上是不直接建立链接的。采用nginx和lvs混合使用可以高质量的服务更多的链接

转载于:https://my.oschina.net/u/3159571/blog/3073727

你可能感兴趣的:(为什么采用nginx+lvs的架构)