基本信息
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理
HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接,并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上
HAProxy实现了一种事件驱动,单一进程模型,此模型支持非常大的并发连接数;多进程或多线程模型受内存限制、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接;事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space)实现所有这些任务,所以没有这些问题;此模型的弊端是:在多核系统上,这些程序通常扩展性较差,这就是为什么他们必须进行优化以使每个CPU时间片(Cycle)做更多的工作
包括GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter和Tuenti在内的知名网站,及亚马逊网络服务系统都使用了HAProxy
官方网站:
HAProxy - The Reliable, High Performance TCP/HTTP Load Balancerhttps://www.haproxy.org/以下实验所需的配置环境
boke1 HAProxy负载均衡主机 IP=172.25.100.11
boke2 后端真实apache服务器主机 IP=172.25.100.12
boke3 后端真实apache服务器主机 IP=172.25.100.13
boke4 HAProxy负载均衡主机 IP=172.25.100.14
负载均衡配置
HAProxy配置中分成五部分内容:
1、global:设置全局配置参数,属于进程的配置,通常和操作系统相关
2、defaults:配置默认参数,这些参数可以被用到frontend,backend,Listen组件
3、frontend:接收请求的前端虚拟节点,Frontend可以更改规则直接指定具体使用后端的backend
4、backend:后端服务集群的配置,是真实服务器,一个Backend对应一个或者多个实体服务器
5、Listen:frontend和backend的组合体
##简单的负载均衡配置
##访问此负载均衡器得到的效果
负载均衡器的状态报告配置
##在haproxy配置文件的defaults板块添加状态报告访问路径并开启登陆认证
##访问测试效果
负载均衡器的日志管理
##haproxy配置文件