代理服务器之 squid、lvs、nginx、haproxy 之间的区别

代理服务器之 squid、lvs、nginx、haproxy 之间的区别

代理服务可简单的分为正向代理反向代理

1、正向代理

正向代理服务器:squid

用于代理内部网络对 Internet 的连接请求 (如 VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标 Web 服务器的 HTTP 请求先发送到代理服务器上,然后由代理服务器去访问 Web 服务器,并将 Web 服务器的 Response 回传给客户端。

2、反向代理:

image.png-13.7kB

与正向代理相反,如果局域网向 Internet 提供资源,并让 Internet 上的其他用户可以访问局域网内资源,也可以设置一个代理服务器, 它提供的服务就是反向代理。反向代理服务器接受来自 Internet 的连接,然后将请求转发给内部网络上的服务器,并将 Response 回传给 Internet 上请求连接的客户端。

2.1 squid

最古老的代理服务器

2.2 lvs

  • 优点:抗负载能力强、是工作在网络 4 层之上仅作分发之用
    • 配置性比较低,这是一个缺点也是一个优点,简单不易出错
    • 工作稳定,抗负载能力很强,有完整的双机热备方案,如 LVS (DR)+ Keepalived。
    • 无流量,LVS 只分发请求,而流量并不从它本身出去
    • 应用范围比较广,几乎支持所有应用
  • 缺点:
    • 不支持正则表达式处理,不能做动静分离
    • 网站应用比较庞大的话,LVS/DR+Keepalived 实施起来比较复杂

2.3 nginx:

  • 优点:
    • 工作在七层之上,针对 HTTP 做分流策略,正则规则比 haproxy 更灵活
    • 对网络的稳定性依赖小
    • 安装配置简单
    • 高负载高并发低消耗
    • 不仅能做代理,还可以做 web 服务器
    • 还能缓存静态网页和图片
    • 社区活跃,第三方模块非常多
  • 缺点:
    • 适应范围较小,仅能支持 http、https、Email 协议。
    • 对后端服务器的健康检查,只支持通过端口检测,不支持 url 来检测。

2.4 haproxy:

  • 优点:
    • HAProxy 是支持虚拟主机的,可以工作在 4、7 层 (支持多网段)
    • HAProxy 的优点能够补充 Nginx 的一些缺点,比如支持 Session 的保持,Cookie 的引导;同时支持通过获取指定的 url 来检测后端服务器的状态。
    • HAProxy 跟 LVS 类似,本身就只是一款负载均衡软件;单纯从效率上来讲 HAProxy 会比 Nginx 有更出色的负载均衡速度,在并发处理上也是优于 Nginx 的。
    • HAProxy 支持 TCP 协议的负载均衡转发,可以对 MySQL 读进行负载均衡,对后端的 MySQL 节点进行检测和负载均衡
    • HAProxy 负载均衡策略非常多,HAProxy 的负载均衡算法现在具体有 8 种
  • 缺点:
    • 不支持 POP/SMTP 协议
    • 不支持 SPDY 协议
    • 不支持 HTTP cache 功能
    • 重载配置的功能需要重启进程
    • 多进程模式支持不够好

3、squid 正反向代理区分

  • 正向代理:Squid 后面是客户端,客户端上网要通过 Squid 去上;
  • 反向代理:Squid 后面是服务器,服务器返回给用户数据需要走 Squid
posted @ 2024-07-01 11:57  CharyGao  阅读(27)  评论(0)    收藏  举报