0
点赞
收藏
分享

微信扫一扫

代理服务器之 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


举报

相关推荐

0 条评论