HAProxy 代理介绍-version2.2
github:https://github.com/haproxy/haproxy/blob/master/doc/intro.txt
date:2020-06
1 HAProxy是什么
- TCP代理
- HTTP反向代理
- SSL终止程序/启动器/卸载程序
- TCP规范化器
- HTTP规范器
- HTTP修复工具
- 基于内容的开关
- 服务器负载均衡器
- 交通调整器
- 防止DDoS和服务滥用
- 网络故障诊断观察
- HTTP压缩卸载程序
- 缓存代理
- FastCGI网关
HAProxy不是:
- 一个显式HTTP代理
- 数据清洗机
- 静态Web服务器
- 基于数据包的负载均衡器
2 HAProxy是如何工作的
HAProxy 是一个事件驱动的、非阻塞的引擎,包含了一个基于优先级的多线程调度器的非常快的I/O层。它的设计考虑到了数据转发的目标,它的架构优化了数据移动操作,并尽可能以最少的操作完成数据移动。它通过让连接尽可能久的与相同的CPU保持连接来专门优化CPU缓存的效率。同样它实现了一个分层模型,在每一级别提供旁路机制
[1],确保非必须的情况下数据达不到更高的级别。绝大多数的处理都被放到了内核中执行,并且HAProxy在协助内核尽可能快的作业方面做到了最好,HAProxy通过向内核给出提示或在猜测可以稍后分组时直接避免某些操作。有效的数据表明,HAProxy和内核在TCP或HTTP关闭模式下的处理时间占比分别为15%和85%,而在HTTP保持活动模式下,HAPro