haproxy的使用及配置

一、利用haproxy实现简单的负载均衡

wKioL1QezuDwl1tAAAMWStZrH88085.jpg



1、各服务器IP地址

nodeboss:192.168.1.10

nodeOne:192.168.1.11

haproxy

eth0:192.168.42.141

eth1:192.168.1.1


2、配置Real-Server:

在两个node服务器上安装web服务

#yum install httpd -y

分别为两个服务器编写两个网页文件


3、安装配置haproxy

haproxy的eth1与nodeOne和nodeboss处于同一本地网络

安装服务

#yum install haproxy -y

编辑配置文件

wKiom1Qez2_x7WwPAAFjkEdf-xc169.jpg

wKiom1Qez7CS-5ZRAAEeygR3ZVY084.jpg


在文件/etc/rsyslog.conf添加如下内容

local2.* /var/log/haproxy.log


4、在浏览器中输入:http://192.168.42.141,多次刷新观察是否能够轮询;或者使用curl http://192.168.42.141命令查询

wKiom1Qe0MbQSr9TAAGD6lLXpVI891.jpg


二、配置文件解读

1、haproxy的配置

global setting:全局配置段

主要用于定义haproxy进程自身的工作特性

proxies:代理配置段

backend:后端服务器组

frontend:定义面向客户的监听地址和端口,以及关联到后端服务器组

listen:组合方式直接定义frontend及相关的baskend的一种机制

defaults:定义默认配置,定义

2、支持那些调度算法:

    

roundrobin:wrr、支持慢启动(slow start),dynamic,最多可以在后端支持4095个Server,可以为每个Server定义权重

static-rr:wrr,静态轮询调度,不支持慢启动,static,后端Server数量没有限制

leastconn:wlc,dynamic

source:主要曾对需要保持回话的动态请求;建议用于基于TCP模式调度且不使用cookie插入模式使用,有hash-type参数决定气味dunamic或这static相当于ipvs的sh,以及nginx的ip_hash

uri:主要对于缓存服务区;基于请求报文中的uri的左半部分(查询条件之前的部分)或全部的uri进行调度,常用于backend server为cache server的场景中;取决于hash-type参数数决定其为dunamic或着static

url_params:常用于后端服务器需要对用户进行认证的场景中,由hash-type参数数决定其为dunamic或着static

hdr(<name>):根据用户请求的报文中,制定的http首部的至进行调度

hdr(host):长用于实现将度itong一个虚拟主机的请求始终发往backend server

use_domain_only:在计算hash值时仅使用域名由hash-type参数数决定其为dunamic或着static





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章