st0627 发表于 2019-1-2 10:03:16

HAProxy 负载均衡器

  HAProxy 负载均衡器
  HAProxy 可以做负载均衡,同时还可对服务器健康检测,有 down 机的自动停止分发,当服务器正常后,又自动均衡到刚死过的服务器。
  HAProxy的算法有如下8种:
  一、roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;
  二、static-rr,表示根据权重,建议关注;
  三、leastconn,表示最少连接者先处理,建议关注;
  四、source,表示根据请求源IP,建议关注;
  五、uri,表示根据请求的URI;
  六、url_param,表示根据请求的URl参数'balance url_param' requires an URL parameter name
  七、hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
  八、rdp-cookie(name),表示根据cookie(name)来锁定并哈希每一次TCP请求。
  我们平时应用得比较多的应该是roundrobin、source和leastconn,大家可以重点关注。
  HAProyx采用的是balance source机制,它跟LVS的persistent和Nginx的ip_hash一样,是让客户机访问时始终访问后端的某一台真实的web服务器;
  网友经验:
  因为刚开始网站上用的是LVS+Keepalived高可用架构,后来几个朋友说用手机测试时,转发很慢,有时打不开,甚有的电脑也是这样,我尝试了一下确实如此;所以用了HAProxy+Keepalived以后发现转发速度确实快多了,手机上一拍网也没有这个问题了。
  因为淘宝也在用haproxy作为负载均衡器,稳定性肯定不需要怀疑;二来在测试时发现确实相当的稳定,杀掉HAProxy进程还必须用kill -9。
  HAProxy是支持虚拟主机的。
  注:如果修改 haproxy.cfg 配置,想重启 haproxy 用 kill -HUP `cat logs/haproxy.pid` 是不行的。必须使用 -sf 或 -st 参数。sbin/haproxy -f haproxy.cfg -st `cat logs/haproxy.pid `
  haproxy相关命令参数介绍
  haproxy-f    [-n 最大并发连接总数] [-N 每个侦听的最大并发数]
  -d   前台,debug模式
  -D   daemon模式启动(守护进程)
  -q   安静模式,不输出信息
  -V   详细模式
  -c   对配置文件进行语法检查
  -s   显示统计数据
  -l   显示详细统计数据
  -dk    不使用kqueue
  -ds    不使用speculative epoll
  -de    不使用epoll
  -dp    不使用poll
  -db    禁用后台模式,程序跑在前台
  -sf    程序启动后向pidlist里的进程发送FINISH信号,这个参数放在命令行的最后
  -st    程序启动后向pidlist里的进程发送TERMINATE信号,这个参数放在命令行的最后

页: [1]
查看完整版本: HAProxy 负载均衡器