HAproxy七层负载均衡介绍
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七层负载均衡介绍相关推荐
- HAproxy七层负载均衡——环境搭建及实现过程详解
实验环境 主机名 IP 服务 虚拟机server1 172.25.6.1 haproxy,httpd,服务端 虚拟机server2 172.25.6.2 httpd,php,客户端 虚拟机server ...
- HAproxy七层负载均衡——访问控制、动静分离、读写分离实现过程详解
实验环境 主机名 IP 服务 虚拟机server1 172.25.6.1 haproxy,httpd,服务端 虚拟机server2 172.25.6.2 httpd,php,客户端 虚拟机server ...
- 四层和七层负载均衡的区别介绍--转
简单理解四层和七层负载均衡:①所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均 ...
- 四层和七层负载均衡的区别介绍(转载)
简单理解四层和七层负载均衡: ①所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载 ...
- 七层负载均衡--Haproxy
七层负载均衡--Haproxy 1 Haproxy的定义 2 七层负载均衡的概念 3 四层和七层负载均衡的对比 4 Haproxy的安装及部署 4.1 Haproxy实现负载均衡 4.2 建立监控 4 ...
- 四层和七层负载均衡的特点及常用负载均衡Nginx、Haproxy、LVS对比
一.四层与七层负载均衡在原理上的区别 图示: 四层负载均衡与七层负载均衡在工作原理上的简单区别如下图: 概述: 1.四层负载均衡工作在OSI模型中的四层,即传输层.四层负载均衡只能根据报文中目标地址和 ...
- 四层和七层负载均衡的区别
负载均衡设备也常被称为"四到七层交换机",那补充: 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP ...
- Web负载均衡学习笔记之四层和七层负载均衡的区别
0x00 简介 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. ...
- 网络四层、七层负载均衡的区别
一.简介 ** 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:**同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均衡会通过一 ...
最新文章
- Python 的基本数据类型
- 就在刚刚!阿里达摩院刷新纪录,超越微软、Facebook!
- 表观调控高通量测序分析培训开课啦
- rt-thread的定时器管理源码分析
- 改变listview的每个item的背景色
- 问题 B: 小鱼的搭配购物(并查集+01背包)
- matlab和python中的svd分解的区别
- 徒手打造基于Spark的数据工厂(Data Factory):从设计到实现
- 【开源项目】基于FFmpeg的RGB格式封装MOV文件
- 【ZOJ - 3780】Paint the Grid Again(拓扑排序,图论,证明性质)
- java ldap tls_ldap之tls 双向认证要我命
- Hibernate(转载)
- 基于PhalApi的Redis拓展
- 攻防演练比赛中攻击队常用的测试方法列举
- 进制转换之2进制与16进制之间的相互转换
- 软件著作权的转让问题
- HyperLynx(十)BoardSim和PCB板级仿真分析(一)
- Snapde和常用的CSV文件编辑器对比
- 网站识别Windows AD 域账号,并自动登录
- 硬实力 | 观成科技加密流量人工智能安全检测类产品荣获新技术新产品证书
热门文章
- python和R对dataframe进行连接、行过滤更新列内容:dplyr、merge、inner、left、right、inner_join、left_join、sort_values、loc
- 词频-逆向文件频率TF-IDF构建实战
- DeepWide推荐系统
- Python踩坑指南(第一季)
- 基于注意力机制的图卷积网络预测药物-疾病关联
- 数字图像处理- 3.6 锐化空间滤波器
- python学习之第二课时--运行程序和字符编码
- python 归一化_python 归一化
- STM32-超级终端串口控制程序
- 大数据分布式集群搭建(2)