1.什么HAproxy?

HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

包括 GitHub、Bitbucket[3]、Stack Overflow[4]、Reddit、Tumblr、Twitter[5][6]和 Tuenti[7]在内的知名网站,及亚马逊网络服务系统都使用了HAProxy。

2.相关概念

(1)代理相关

正向代理,反向代理

这里着重介绍一下正向代理和反向代理的区别

正向代理:

正向代理通过上面的图理解其实就是用户想从服务器拿资源数据,但是只能通过proxy服务器才能拿到,所以用户A只能去访问proxy服务器然后通过proxy服务器去服务器B拿数据,这种情况用户是明确知道你要访问的是谁,在我们生活中最典型的案例就是“翻墙“了,也是通过访问代理服务器最后访问外网的。

反向代理:

反向代理其实就是客户端去访问服务器时,他并不知道会访问哪一台,感觉就是客户端访问了Proxy一样,而实则就是当proxy关口拿到用户请求的时候会转发到代理服务器中的随机(算法)某一台。而在用户看来,他只是访问了Proxy服务器而已,典型的例子就是负载均衡了。

代理服务器,可以提供缓存功能加速客户端访问,同时可以对缓存数据进行有效性检查
内容路由:根据流量以及内容类型将请求转发至特定的服务器
转码器:支持压缩功能,将数据以压缩形式发送给客户端

(2)缓存的作用

减少访冗余内容传输
节省带宽,缓解网络瓶颈
降低了对原始服务器的请求压力
降低了传输延迟

(3)负载均衡集群:

四层:(前面讲过)
lvs, nginx(stream),haproxy(mode tcp)
七层:
http: nginx(http, ngx_http_upstream_module), haproxy(mode http), httpd, ats, perlbal, pound...

(4)HAProxy功能

HAProxy是TCP / HTTP反向代理服务器,尤其适合于高可用性环境
可以针对HTTP请求添加cookie,进行路由后端服务器
可平衡负载至后端服务器,并支持持久连接
支持基于cookie进行调度
支持所有主服务器故障切换至备用服务器
支持专用端口实现监控服务
支持不影响现有连接情况下停止接受新连接请求
可以在双向添加,修改或删除HTTP报文首部
支持基于pattern实现连接请求的访问控制
通过特定的URI为授权用户提供详细的状态信息

HAproxy七层负载均衡介绍相关推荐

  1. HAproxy七层负载均衡——环境搭建及实现过程详解

    实验环境 主机名 IP 服务 虚拟机server1 172.25.6.1 haproxy,httpd,服务端 虚拟机server2 172.25.6.2 httpd,php,客户端 虚拟机server ...

  2. HAproxy七层负载均衡——访问控制、动静分离、读写分离实现过程详解

    实验环境 主机名 IP 服务 虚拟机server1 172.25.6.1 haproxy,httpd,服务端 虚拟机server2 172.25.6.2 httpd,php,客户端 虚拟机server ...

  3. 四层和七层负载均衡的区别介绍--转

    简单理解四层和七层负载均衡:①所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均 ...

  4. 四层和七层负载均衡的区别介绍(转载)

    简单理解四层和七层负载均衡: ①所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载 ...

  5. 七层负载均衡--Haproxy

    七层负载均衡--Haproxy 1 Haproxy的定义 2 七层负载均衡的概念 3 四层和七层负载均衡的对比 4 Haproxy的安装及部署 4.1 Haproxy实现负载均衡 4.2 建立监控 4 ...

  6. 四层和七层负载均衡的特点及常用负载均衡Nginx、Haproxy、LVS对比

    一.四层与七层负载均衡在原理上的区别 图示: 四层负载均衡与七层负载均衡在工作原理上的简单区别如下图: 概述: 1.四层负载均衡工作在OSI模型中的四层,即传输层.四层负载均衡只能根据报文中目标地址和 ...

  7. 四层和七层负载均衡的区别

    负载均衡设备也常被称为"四到七层交换机",那补充: 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP ...

  8. Web负载均衡学习笔记之四层和七层负载均衡的区别

    0x00 简介 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. ...

  9. 网络四层、七层负载均衡的区别

    一.简介 ** 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:**同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均衡会通过一 ...

最新文章

  1. Python 的基本数据类型
  2. 就在刚刚!阿里达摩院刷新纪录,超越微软、Facebook!
  3. 表观调控高通量测序分析培训开课啦
  4. rt-thread的定时器管理源码分析
  5. 改变listview的每个item的背景色
  6. 问题 B: 小鱼的搭配购物(并查集+01背包)
  7. matlab和python中的svd分解的区别
  8. 徒手打造基于Spark的数据工厂(Data Factory):从设计到实现
  9. 【开源项目】基于FFmpeg的RGB格式封装MOV文件
  10. 【ZOJ - 3780】Paint the Grid Again(拓扑排序,图论,证明性质)
  11. java ldap tls_ldap之tls 双向认证要我命
  12. Hibernate(转载)
  13. 基于PhalApi的Redis拓展
  14. 攻防演练比赛中攻击队常用的测试方法列举
  15. 进制转换之2进制与16进制之间的相互转换
  16. 软件著作权的转让问题
  17. HyperLynx(十)BoardSim和PCB板级仿真分析(一)
  18. Snapde和常用的CSV文件编辑器对比
  19. 网站识别Windows AD 域账号,并自动登录
  20. 硬实力 | 观成科技加密流量人工智能安全检测类产品荣获新技术新产品证书

热门文章

  1. python和R对dataframe进行连接、行过滤更新列内容:dplyr、merge、inner、left、right、inner_join、left_join、sort_values、loc
  2. 词频-逆向文件频率TF-IDF构建实战
  3. DeepWide推荐系统
  4. Python踩坑指南(第一季)
  5. 基于注意力机制的图卷积网络预测药物-疾病关联
  6. 数字图像处理- 3.6 锐化空间滤波器
  7. python学习之第二课时--运行程序和字符编码
  8. python 归一化_python 归一化
  9. STM32-超级终端串口控制程序
  10. 大数据分布式集群搭建(2)