pgup12 发表于 2019-1-2 11:09:13

负载均衡集群解决方案(三)haproxy

  一、haproxy简介

  HAProxy is a free, very fast and>  摘自:http://haproxy.1wt.eu
  二、haproxy集群工作流程
http://img1.运维网.com/attachment/201301/172517892.png
  三、haproxy安装
  # tar -xzvf haproxy-1.3.20.tar.gz
  # make TARGET=linux26 PREFIX=/usr/local/haproxy install
  注:TARGET后面根据本机操作系统内核版本来填写
  创建配置文件目录,日志目录,并根据需求编写配置文件
  # mkdir /usr/local/haproxy/{conf,logs}
  # vim /usr/local/haproxy/conf/haproxy.cfg
  配置haproxy的日志环境
  # vim /etc/syslog.conf
  添加:
  local0.*      /usr/local/logs/haproxy.log
  local3.*      /usr/local/logs/haproxy_err.log
  #vim /etc/sysconfig/syslog
  修改:
  SYSLOGD_OPTIONS="-r -m 0"
  service syslog restart
  注: -r enables logging from remote machines
  四、haproxy配置详解
  HAProxy配置中分五大部分:
  global:全局配置参数,进程级的,用来控制Haproxy启动前的一些进程及系统设置
  defaults:配置一些默认的参数,可以被frontend,backend,listen段继承使用
  frontend:用来匹配接收客户所请求的域名,uri等,并针对不同的匹配,做不同的请求处理
  backend:定义后端服务器集群,以及对后端服务器的一些权重、队列、连接数等选项的设置,我将其理解为Nginx中的upstream块
  listen:我将其理解为frontend和backend的组合体
  配置一例:
  global # 全局参数的设置
  log 127.0.0.1 local0 info
  # log语法:log
  # 全局的日志配置,使用log关键字,指定使用127.0.0.1上的syslog服务中的local0日志设备,记录日志等级为info的日志
  user haproxy
  group haproxy
  # 设置运行haproxy的用户和组,也可使用uid,gid关键字替代之
  daemon
  # 以守护进程的方式运行
  nbproc 16
  # 设置haproxy启动时的进程数,根据官方文档的解释,我将其理解为:该值的设置应该和服务器的CPU核心数一致,即常见的2颗8核心CPU的服务器,即共有16核心,则可以将其值设置为:  配置指令例举cookieSESSION_COOKIEinsert indirect nocache
  3 session 识别
  haproxy 将后端服务器产生的session和后端服务器标识存在haproxy中的一张表里。客户端请求时先查询这张表。然后根据session分配后端server。
  配置指令:appsessionlentimeout
  七、统计页面效果图
http://img1.运维网.com/attachment/201301/173707446.jpg
  参考文献:
  http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
  本文出自 “My---Dream.*” 博客,请务必保留此出处http://grass51.blog.运维网.com/4356355/1109825


页: [1]
查看完整版本: 负载均衡集群解决方案(三)haproxy