haproxy的相关知识

haproxy:适用七层负载均衡的负载均衡器

环境准备,三台主机,一台做haproxy的服务器,另外两台分别为客户端

haproxy:192.168.38.100

web1:192.168.38.10

web2:192.168.38.20

下载haproxy

查看配置文件

首先是global区域全局配置,常用多进程与多线程配置

每次改完记得重启服务

查看进程

pstree -p | grep haproxy

多线程

然后是default配置,默认配置 针对以下的frontend、backend和listen生效,可以多个name也可以没有name
frontend 前端servername,类似于Nginx的一个虚拟主机server和LVS服务集群。
backend 后端服务器组,等于nginx的upstream和LVS中的RS服务器
listen 将frontend和backend合并在一起配置,相对于frontend和backend配置更简洁

配置格式 :姓名,端口,七层负载,使用的后端服务组以及检查是否上下线的规范

主要内容:算法,内容包括static-rr,first,roundrobin,random,source,uri,hdr()

动态算法roundrobin,random支持socate工具对权重进行动态调整

 echo "get weight webserver_80/webserverl "socat stdio/var/lib/haproxy/haproxy.sock

 echo "set weight webserver_80/webserver1 " socat stdio/var/1ib/haproxy/haproxy.sock

source指的是源地址相处的访问同一台服务器,其使用取模法进行算法计算会由于权重的影响发生较大的变动,因此还有一种为一致性哈希的算法,其影响是局部

uri基于对用户请求的URI的左半部分或整个uri做hash,再将hash结果对总权重进行取模后根据最终结果将请求转发到后端指定服务器,与source一样有两种计算方式

hdr针对用户每个http头部(header)请求中的指定信息做hash,此处由 name 指定的http首部将会被取出并做hash计算然后由服务器总权重取模以后派发至某挑出的服务器,如果无有效值,则会使用默认的轮询调度。

计算方式为服务器哈希环点key=hash(后端服务器虚拟ip)%(2^32),客户机哈希环点key=hash(client_ip)%(2^32),范围均在0-2^32-1之间,客户端会寻找与他距离最近的服务器,顺时针寻找

sourece,uri,hdr均支持hash-type consistent命令调整是否为动态

高级功能与配置

基于cookie的会话保持

haproxy状态页

ip透传

七层中控制ip透传的是default配置中的参数,nginx与apache均可用

或者可以修改日志文件

四层中,IP透传需要使用代理服务

ACL配置选项

根据报头进行判断

从路径的第一个主机名开始到问号前结束,判断是否包含

根据路径

根据网段或者ip

实现动静分离

使用服务器的限制

自定义错误界面

创建文件,复制到创建的文件修改

并将创建的文件写入haproxy的default配置文件中

四层负载实现实力,以mysql为准

在客户端分别安装mariadb,并创建用户允许远程登陆

在服务端进行配置

haproxy的https实现

制作证书

openssreq-newkey rsa:2048-nodes -sha256 -keyout /etc/haproxy/certs/ni .org.key-x509 -days 365 out /etc/haproxy/certs/ni.org.crt

配置实例

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值