当前位置:首页 > 资讯 > 正文

squid代理服务器参数及环境部署

squid代理服务器参数及环境部署

  • 目前常见的Web集群调度器分为软件和硬件
  • 软件:通常使用开源的LVS、Haproxy、Nginx
  • 硬件:一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟(裸金属)等

Haproxy调度算法

  • Haproxy群集配置
  • Haproxy日志管理
  • Haproxy参数优化
3.1功能

一.代理服务器 squid
squid主要提供缓存加速、应用层过滤的功能

3.2代理的工作机制
 
3.2 squid代理类型
  • 如果squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
  1. 传统代理
    适用于Internet,需要在客户机指定代理服务器的地址和端口
  2. 透明代理
    客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将web访问重定向给代理服务器处理
  3. 反向代理
    如果squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用地,供下一个请求者使用
    • ① 定义后端真实服务器地址池
    • ② 配置反向代理(部分服务)
    • ③ 设置所需要的分流算法(轮询策略)
    • ④ 是否对流量进行访问控制

squid把一部分的业务流量缓存在本地,在下一次重复请求来的时候直接根据提供数据,不需要再次向真实服务器建立请求连接。

3.3Haproxy的优点
3.3.1 LVS在企业应用中抗负载能力很强,但有以下缺点
  1. LVS不支持正则处理
  2. 不能实现动静分离
  3. 不支持7层
  4. 对于大型网站,LVS的实施配置复杂,维护成本相对较高
3.3.2 Haproxy优点
  1. Haproxy在负载均衡速度和并发处理上是优于Nginx
  2. Haproxy支持虚拟主机,可以工作在4、7层
  3. 能够补充Nginx (ip_ hash) 的一些缺点,比如session的保持、Cookie的引导等工作
  4. 支持以ur1的方式检测后端的服务器的状态
  5. Haproxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡
  6. 支持很多负载均衡算法(丰富),Round-robin (轮询)、weighl-round- robin(加权轮询)、source hashing (原地址保持)、 RI (请求URL)、 rdp-cookie (根 据cookie)
3.4 Haproxy的应用
  • Haproxy是一款可提供高可用性、 负载均衡、及基于TCP和HTTP应用的代理的软件
  • 适用于负载大的Web站点
  • 运行在硬件上可支持数以万计的并发连接的连接请求
3.5 Haproxy调度算法原理
  • Haproxy支持多种调度算法,最常用的有三种
3.5.1 RR(Round Robin)

RR算法是最简单最常用的一种算法,即轮询调度
理解举例:
◆有三个节点A、B、C
◆第一个用户访问会被指派到节点A
◆第二个用户访问会被指派到节点B
◆第三个用户访问会被指派到节点C
◆第四个用户访问继续指派到节点A,轮询分配访问请求实现负载均衡效果

3.5.2 LC (Least Connections)

最小连接数算法,根据后端的节点连接数大小动态分配前端请求
理解举例:
◆ 有三个节点A、B、C,各节点的连接数分别为A:4、B:5、C:6
◆ 第一个用户连接请求,会被指派到A上,连接数变为A:5、B:5、C:6
◆ 第二个用户请求会继续分配到A上,连接数变为A:6、B:5、C:6;再有新的请求会分配给B,每次将新的请求指派给连接数最小的客户端
◆ 由于实际情况下A、B、C的连接数会动态释放,很难会出现一样连接数的情况
◆ 此算法相比较rr算法有很大改进,是目前用到比较多的一种算法

3.5.3 SH (Source Hashing)

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

  1. ◆ 有三个节点A、B、C,第一个用户第一次访问被指派到了A,第二个用户第一次访问被指派到了B
  2. ◆ 当第一个用户第二次访问时会被继续指派到A,第二个用户第二次访问时依旧会被指派到B,只要负载均衡调度器不重启,第一个用户访问都会被指派到A,第二个用户访问都会被指派到B,实现集群的调度
  3. ◆ 此调度算法好处是实现会话保持,但某些IP访问量非常大时会引起负载不均衡部分节点访问量超大,影响业务使用
虚拟机IPHaproxy服务器Haproxy:192.168.10.130nginx1服务器nginx01:192.168.10.142nginx2服务器nginx02:192.168.10.146
4.1主机改名
 
4.2 安装和布置haproxy

将包haproxy-1.5.19.tar.gz 上传到/opt/下

 
 
  • TARGET=linux2628 ##内核版本
    • 使用uname -r 查看内核,如2.6.18-371.e15,此时该参数用;kernel大于2.6.28的用
  • ARCH=x86_64 ##系统位数,64位系统
4.3 Haproxy服务器配置【配置文件解析】
 

参数详解:

  • #负载均衡调度算法
    • 轮询算法:
    • 最小连接数算法:
    • 来源访问调度算法:,类似于
  • check inter 2000 #表示haproxy服务器和节点之间的一个心跳频率
  • fall 3 #表示连续三次检测不到心跳频率则认为该节点失效
    • 若节点配置后带有“backup”表示该节点只是个备份节点,只有主节点失效该节点才会上。不携带“backup”,表示为主节点,和其它主节点共同提供服务
  • 2 配置nginx端(确保已安装)
4.4 2台web服务器安装httpd服务
 
 
4.5启动管理Haproxy
 
 
4.6.编辑测试网页
 
 
 

修改Haproxy配置文件中关于日志配置的选项,加入配置

 

修改rsyslog配置,将相关配置独立定义到, 并放到/etc/rsyslog.d/下
保存配置文件并重启rsyslog服务,完成rsyslog配置

随着企业网站负载增加,haproxy参数优化相当重要,具体的优化项如下:

 
 

常见的web集群调度器分为软件和硬件
LVs性能最好,但是搭建相对复杂;Nginx的upstream模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能没有Haproxy好

  1. Haproxy是一款可提供高可用性、 负载均衡、及基于TCP和HTTP应用的代理的软件
  2. 最常用的调度算法有三种:
    ① RR:轮询调度;
    ② LC:最小连接数算法

最新文章