代理服务器haproxy负载均衡初体验

一、haproxy概述

1.1、haproxy简介

HAProxy: 是法国人Willy Tarreau开发的一个开源软件,是一款应对客户端10000以上的同时连接的高性能的TCP和 HTTP负载均衡器。其功能是用来提供基于cookie的持久性, 基于内容的交换,过载保护的高级流量管制,自动故障切换 ,以正则表达式为基础的标题控制运行时间,基于Web的报表,高级日志记录以帮助排除故障的应用或网络及其他功能。

1.2、代理的作用

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

1.3、缓存的作用

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

1.4、负载均衡集群

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

1.5、haproxy功能

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

1.6、Haproxy调度算法原理

Haproxy支持多种调度算法,最常用的有三种

RR (Round Robin)

  • RR算法是最简单常用的一种算法,即轮询调度

LC(Least Connections)

  • 最小连接数算法,根据后端的节点连接数大小动态分配前端请求。

SH(Source Hashing)

  • 基于来源访问调度算法,用于一些有Session会话记录在服务器端的场景,可以基于来源的IP、Cookie等做集群调度
     

1.7、HAProxy负载均衡策略(8种)

roundrobin 表示简单的轮询
static-rr 表示根据权重
leastconn 表示最少连接者先处理
source 表示根据请求的源IP,类似Nginx的IP_hash机制
ri 表示根据请求的URI
rl_param 表示根据HTTP请求头来锁定每一次HTTP请求
rdp-cookie(name) 表示根据据cookie(name)来锁定并哈希每一次TCP请求

1.8、LVS、Nginx、HAproxy的区别

  • LVS基于Linux操作系统实现软负载均衡,而HAProxy和Nginx是基于第三方应用实现的软负载均衡;
  • LVS是可实现4层的IP负载均衡技术,无法实现基于目录、URL的转发。而HAProxy和Nginx都可以实现4层和7层技术,HAProxy可提供TCP和HTTP应用的负载均衡综合解决方案;
  • LVS因为工作在ISO模型的第四层,其状态监测功能单一,而HAProxy在状监测方面功能更丰富、强
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值