zjxhx 发表于 2018-11-8 11:18:49

LVS四层 VS Nginx七层反代(负载均衡)

  1、场景:
  最近不少朋友聊天谈到面试总是问到LVS四层反代和Nginx七层反代,有点不知所措。
  负载均衡可以将用户的请求分发到 web集群的某台机器,反向代理也是实现了这个功能。如果后端是一台服务器就叫反向代理,如果有多台就是负载均衡。反向代理才能实现负载均衡 负载均衡是做反向代理的目的之一。
  2、博主则探讨一下四层反代和的七层反代的区别(三层负载均衡不探讨),如有不足,请指出。
  负载均衡(Load Balance)
  也称四层、七层交换机
  四层负载均衡
  七层负载均衡
  (通常七层支持四层)
  技术原理
  ip+tcp(端口)
  URL应用层(也称内容交换)
  典型代表
  LVS、F5等
  Nginx、Haproxy,MySQL Proxy等
  缺点和优点
  不理解MySQL,ftp,http等应用协议等,满足不了特定的需求,比如动静分离,缓存自定义等但是配置简单,效率也很高。
  对负载均衡设备要求很高,处理七层能力一般低于四层模式的部署方式,但有点比较智能化,比如动静分离,根据不同请求定义图片,缓存,可以对客户端请求和服务器的相应进行自定义修改,极大提升了应用系统在网络层的灵活性
  安全性
  eg:SYNFlood***,有的软四层应用则会转发到后端服务器,有的则可以防止***,这个和设备(软硬)有一定关系。
  一般可以在七层进行拦截,不影响后台服务器正常运营,可以设置多种策略,过滤特定报文。
  应用
  对应tcp应用 比如C/S开发的ERP
  应用广发HTTP协议,应用主要是网站或内部信息平台等B/S开发的系统。
  案例(工作原理)
  接受客户的syn请求,通过上述方式选择后端指定服务器,并对报文中目标ip地址进行修改,改为后端服务器ip,tcp连接是直接建立,而负载均衡类似路由器作用
  如果要根据真正的应用层内容在选择服务器,则先代理最终服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容报文,然后根据该报文中特定字段,加上负载均衡设备的服务器选择方式,决定最终选择的内部服务器。此时充当了代理服务器。
  四层七层选择
  1、根据需求使用,七层可以提高流量智能化,但配置复杂化
  2、追求安全性,或者性能
  3、考虑灵活性和扩展性
  3、问到LVS四层、七层反代(负载均衡),则可以通过上面几个方式谈:
  3.1)技术原理
  3.2)优缺点
  3.3)安全性
  3.4)应用场景
  3.5)工作原理
  3.6)四层七层的选择

页: [1]
查看完整版本: LVS四层 VS Nginx七层反代(负载均衡)