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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3450.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Resources资源操作

文章目录 1、Spring Resources概述2、Resource接口3、Resource的实现类3.1、UrlResource访问网络资源3.2、ClassPathResource 访问类路径下资源3.3、FileSystemResource 访问文件系统资源3.4、ServletContextResource3.5、InputStreamResource3.6、ByteArrayResource 4、Resour…

Keil MDK编程环境下的 STM32 IAP下载(学习笔记)

IAP的引入 不同的程序下载方式 ICP ICP(In Circuit Programing)。在电路编程,可通过 CPU 的 Debug Access Port 烧录代码,比如 ARM Cortex 的 Debug Interface 主要是 SWD(Serial Wire Debug) 或 JTAG(Joint Test Action Group); ISP ISP(I…

PostgreSQL处理JSON数据

源:https://blog.csdn.net/c_zyer/article/details/130968257?ops_request_misc&request_id&biz_id102&utm_termPostgreSQL%20%E7%9A%84JSON%20%E5%A4%84%E7%90%86&utm_mediumdistribute.pc_search_result.none-task-blog-2allsobaiduweb~default-…

Mysql找出执行慢的SQL【慢查询日志使用与分析】

分析慢SQL的步骤 慢查询的开启并捕获:开启慢查询日志,设置阈值,比如超过5秒钟的就是慢SQL,至少跑1天,看看生产的慢SQL情况,并将它抓取出来explain 慢SQL分析show Profile。(比explain还要详细…

LeetCoda 打卡day53--动态规划之最长子序列

一个人的朝圣 — LeetCode打卡第52天 知识总结 Leetcode 1143. 最长公共子序列题目说明代码说明 Leetcode 53. 最大子数组和题目说明代码说明 Leetcode 1035. 不相交的线题目说明代码说明 知识总结 今天几道最长子序列的题目, 都可以用一个固定的模版完成. 理解其中递推公式的…

float:right 浮动布局后怎么清除浮动对后面元素的影响

1 用overflow:hidden和overflow:auto 在父元素上 2 用伪元素进行清除浮动 ::after

Retrofit注解

1. 注解类型 Retrofit路径结合的规则 2. 网络请求方法 2.1 Get请求 完整地址:http://mock-api.com/2vKVbXK8.mock/getUserInfo?iduserid 2.1.1 Query 创建Retrofit实例必须传入baseurl(http://mock-api.com/2vKVbXK8.mock/),在GET("getUserIn…

港科夜闻|香港科大(广州)与特斯联共建研究中心,打造国际领先的创新联合体...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大(广州)与特斯联共建研究中心,打造国际领先的创新联合体。6月27日,“数字世界”联合研究中心正式揭牌成立,这个由香港科大(广州)与特斯联共同打造的研究中心,旨在推…

Chrome 插件开发覆写xhr请求

这几天搞chrome谷歌浏览器插件遇到个问题 我想拦截网页请求,并把数据传递到下一个子窗口。获取responsebody内容 background.js 单纯靠sendmessage实现不了通讯 chrome.runtime.sendMessage({data: e.data.responseText,type:ajaxResponse}); 最开始的时候想用chr…

qt QSqlRelationalTableModel 详解

背景知识: Qt SQL的API分为不同层: 驱动层 驱动层 对于QT是基于C来实现的框架,该层主要包括QSqlDriver、QSqlDriverCreator、QSqlDriverCreatorbase、QSqlDriverPlugin and QSqlResult。这一层提供了特定数据库和SQL API层之间的底层桥梁…

【Jvm】Java类加载机制是什么?

文章目录 一、目标:二、原理 (类的加载过程及其最终产品)三、过程(类的生命周期)3.1、加载3.2、校验3.3、准备3.4、解析3.5、初始化 四、类加载器五、双亲委派机制 一、目标: 什么是类的加载?类…

VueX笔记

vuex是vue的一个插件,是一种组间通信的方式,整个项目可以共享数据和方法 安装: npm i vuex3 如上图所示,如果需求非常简单,我们就可以绕过dispatch方法,直接去调用commit方法 dispatch方法用于编写业务代…