haproxy 负载均衡

这篇具有很好参考价值的文章主要介绍了haproxy 负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

haproxy负载均衡 haproxy:基于C语言开发的开源软件 支持高性能的tcp和http负载均衡器,工作中用的版本1.5.9 haproxy功能:主要用于高并发的web站点,工作原理和nginx、lvs都一样

haproxy缺点: 单节点部署,单实例运行。代理服务器出现故障,整个负载集群全部不可用。

正常功能: 1、tcp和http的反向代理 2、https的代理配置 3、可以针对http请求添加cookie,转发到后端服务器(添加缓存) 4、也支持主备切换(keepalive) 5、基于端口的实时监控 6、压缩响应的报文

haproxy的特点 1、可靠性和稳定非常好,可以和硬件F5 BIG 负载均衡的硬件设备 2、可以同时维护4w-5w个并发,单位时间内处理最大的请求20000个 3、支持8中负载均衡算法。但是haproxy不带缓存功能,但是可以支持会话保持 4、也支持配置虚拟主机。

haproxy的负载均衡算法:

1、roundrobin  rr轮询
2、static-rr    wrr加权轮询
3、leastconn    最小连接数
4、source        根据请求的源IP进行调度 sh
5、uri            根据请求地址进行调度
6、url param URL的参数实现调度
7、hdr(name)     根据http的请求头锁定每一次http的请求
8、rdp-cookie(name)根据cookie的名称来锁定每一次请求。

lvs nginx haproxy三种负载均衡的区别


1、Ivs基于linux内核实现负载均衡,性能最高,但是对系统硬件要求也比较高。
        haproxy和nginx基于第三方应用实现负载均衡,性能较低。
2、lvs可以实现 'ip+端口' 的四层负载均衡,无法实现http请求的转发。
        haproxy和nginx都可以实现四层和七层的转发。
3、lvs只能四层转发,单一的功能:基于端口来进行检测
        haproxy 可以实现端口,uri 也可以
4、haproxy虽然功能强大但整体功能低于lvs的性能比gaproxy低
        lvs-------haproxy---------nginx (bug多,稳定也差)
5、nginx主要应用还是web服务或者缓存服务器,nginx的stream模块和upstream也可以支持集群,但是对节点的健康检查能力不行。没有lvs和haproxy的监控性能好

Haproxy:是常用的负载均衡软件
nginx 支持四层转发,七层转发
haproxy 也可以四层和七层转发

基于四层的转发
1、lvs
2、nginx
3、haproxy
基于七层:
nginx
haproxy

/etc/haproxy/haproxy.cfg内容说明

global                          #全局配置定义 定义全局参数
log /dev/log localo info        系统日志
log /dev/log -local0    notice    修改日志的存放路径
log loghost localo info            注释
maxconn 10240                    支持每个cpu的最大连接数 1024 一定要改limits.conf
chroot /usr/share/haproxy        注释
nbproc 6                         在daemon下添加,同时并发进程数,要么和cpu相同,要么是cpu的两倍。
defaults                         默认配置,包括监听地址和协议backend (upstream)
log global                         引入全局配置日志格式
mode http                         模式为http 七层
option dontlognull                不记录健康检查的日志信息
retries 3                         检查节点服务器的失败次数 3次失败就认为节点服务器失效
redispatch                         服务器的负载很高,自动结束当前队列处理比较久的连接
maxconn 2000                     最大连接数,不能超过全局配置的定义数量
timeout http-request 10s        默认http请求的超时时间
timeout queue 1m                默认队列超时时间
timeout connect 10s                默认连接超时的时间
timeout client 1m                客户端的超时时间
timeout server 1m                 服务端的超时时间
timeout http-keep-alive 10s        默认会话保持的超时时间
timeout check 10s                心跳检查的超时时间

nginx-haproxy负载均衡

1、haproxy代理服务器

        192.168.10.10

2、web服务器

        192.168.10.20

        192.168.10.30

        提供 nginx 页面服务

数据流向

haproxy 负载均衡,负载均衡,运维

haproxy代理服务器(七层

yum install -y pcre-devel bzip2-devel gcc gcc-c++ make
cd /opt/
tar zxvf haproxy-1.5.19.tar.gz
cd haproxy-1.5.19/
make TARGET=linux2628 ARCH=x86_64
make install
mkdir /etc/haproxy
cp /opt/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/
cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
chmod 777 /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin
 
vim /etc/haproxy/haproxy.cfg
.................
 
修改
log /dev/log    local0 info
log /dev/log    local0 notice
chroot /usr/share/haproxy        注释掉
nbproc 2                         在daemon下添加
contimeout     5000              注释掉
clitimeout     50000             注释掉
srvtimeout     50000             注释掉
添加以下内容
timeout http-request 10s
#默认http请求的超时时间
timeout queue 1m
#默认队列的超时时间
timeout connect 10s
#默认连接的超时时间
timeout client 1m
#客户端默认的连接超时时间
timeout server 1m
#客户端默认的超时时间
timeout http-keep-alive 10s
#默认会话的保持的超时时间
timeout check 10s
#心跳检查的超时时间,在下面添加
listen  liu 0.0.0.0:80
        option httpchk GET /index.html
        balance roundrobin        算法
        server  liu1 192.168.10.20:80 check inter 2000 fall 3
        server  liu2 192.168.10.30:80 check inter 2000 fall 3
 
把添加完成后面的全部删除
.................
 
systemctl restart haproxy

yum install -y pcre-devel bzip2-devel gcc gcc-c++ make
cd /opt/
tar zxvf haproxy-1.5.19.tar.gz
cd haproxy-1.5.19/
make TARGET=linux2628 ARCH=x86_64
make install
mkdir /etc/haproxy
cp /opt/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/
cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
chmod 777 /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin
 
vim /etc/haproxy/haproxy.cfg
.................
 
修改
log /dev/log    local0 info
log /dev/log    local0 notice
chroot /usr/share/haproxy        注释掉
nbproc 2                         在daemon下添加
contimeout     5000              注释掉
clitimeout     50000             注释掉
srvtimeout     50000             注释掉
添加以下内容
timeout http-request 10s
#默认http请求的超时时间
timeout queue 1m
#默认队列的超时时间
timeout connect 10s
#默认连接的超时时间
timeout client 1m
#客户端默认的连接超时时间
timeout server 1m
#客户端默认的超时时间
timeout http-keep-alive 10s
#默认会话的保持的超时时间
timeout check 10s
#心跳检查的超时时间,在下面添加
 
frontend liu
bind *:80
mode tcp
default_backend liu
 
backend liu
mode tcp
balance roundrobin
        server  liu1 192.168.10.20:80 check inter 2000 fall 3
        server  liu2 192.168.10.30:80 check inter 2000 fall 3
 
把添加完成后面的删除
.................
 
systemctl restart haproxy

Haproxy的日志重定义

日志单独存放

nginx服务
keepalive_timeout  65;        注释掉或将其改为0
 
 
 
haproxy服务
vim /etc/haproxy/haproxy.cfg
global
    log /dev/log local0 info
    log /dev/log local0 notice
 
systemctl restart haproxy
 
 
vim /etc/rsyslog.d/haproxy.conf
....................
 
if ($programname == 'haproxy' and $syslogseverity-text == 'info')
then -/var/log/haproxy/haproxy-info.log
&~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice')
then -/var/log/haproxy/haproxy-notice.log
&~
只能添加ifno和notice其他的要手动添加,格式类似
 
....................
 
systemctl restart rsyslog.service
 
haproxy日志会修改到cd /var/log/haproxy/下,/var/log/messages中将不会显示haproxy的日志
文章来源地址https://www.toymoban.com/news/detail-718976.html

到了这里,关于haproxy 负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Haproxy开源负载均衡部署

    centos7服务器    haproxy      192.168.1.107 centos7服务器    nginx(1)              192.168.1.109 centos7服务器    nginx  (2)          192.168.1.110 centos7服务器    nfs+rps         192.168.1.108 yum install haproxy -y  #yum安装haproxy vim   /etc/haproxy/haproxy.cfg        #替换haproxy的配置文

    2024年02月11日
    浏览(39)
  • HAProxy负载均衡 代理

    1.安装 yum -y install haproxy 2.配置文件 /etc/haproxy 下 global log 127.0.0.1 local2 #日志定义级别 chroot /var/lib/haproxy #当前工作目录 pidfile /var/run/haproxy.pid #进程id maxconn 4000 #最大连接数 daemon #后台形式运行 stats socket /var/lib/haproxy/stats mode 600 level admin # level为admin,否 则使用socat时会提示权限拒

    2024年02月12日
    浏览(35)
  • Haproxy负载均衡群集

    1、常见的Web集群调度器 目前常见的Web集群调度器分为 软件和硬件 软件通常使用开源的LVS、Haproxy、Nginx 硬件一般使用比较多的是F5、Array,也有很多人使用国内的一些产品,如梭子鱼、绿盟等 2、常用集群调度器的优缺点(LVS ,Nginx,Haproxy) 2.1 Nginx 1)工作在网络的7层之上,可以

    2024年02月07日
    浏览(37)
  • haproxy负载均衡

    目录 一.常见的web集群调度器 二.haproxy的概念  三.特性 四 图解haproxy  五 haproxy的配置文件详解 一.常见的web集群调度器 1.目前常见的web集群调度器分为软件和硬件 2.软件通常使用开源的lvs/haproxy/nginx 3.硬件一般使用比较多的是f5 也有国内的产品 二.haproxy的概念  haproxy是可提供

    2024年02月16日
    浏览(29)
  • 七层负载均衡 HAproxy

    (1) 无负载均衡: 没有负载均衡,用户直接连接到 Web 服务器。当许多用户同时访问服务器时,可能无法连接。 (2) 四层负载均衡: 用户访问负载均衡器,负载均衡器将用户的请求平衡转发给后端服务器。 (3) 七层负载均衡: 7层负载均衡是更复杂的负载均衡方法,使用第7层允

    2024年02月08日
    浏览(36)
  • HAProxy+nginx搭建负载均衡群集

    目录 一、常见的Web集群调度器 二、HAProxy群集介绍  1、Haproxy的特性 : 2、Haproxy常用的调度算法  ① 轮询调度(Round Robin) ② 最小连接数(Least Connections) ③ 基于来源访问调度算法(Source Hashing) ④URi ⑤ url_param ⑥ rdp-cookie(name) ⑦ source ⑧ static -rr 3、nginx和LVS和Haproxy有什

    2024年02月11日
    浏览(36)
  • DAY 53 Haproxy负载均衡集群

    目前常见的Web集群调度器分为软件和硬件: 软件通常使用开源的LVS、Haproxy、 Nginx LVS性能最好,但是搭建相对复杂;Nginx 的upstream模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能没有Haproxy好。 硬件一般使用比较多的是F5、Array,也有很多人使用国内的一些

    2024年02月02日
    浏览(38)
  • haproxy 负载均衡&配置http+https负载集群实战

    haproxy负载均衡 一、简介 HAProxy是一种开源的负载均衡和代理服务器软件,可以实现高可用性和性能优化。它通常用于将传入的请求分发到多个后端服务器,以达到负载均衡的目的。 Haproxy 是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于

    2024年01月22日
    浏览(43)
  • 集群基础3——haproxy负载均衡apache

    使用haproxy对apache进行负载均衡。 主机IP 角色 安装服务 192.168.161.131 后端服务器1 httpd,80端口 192.168.161.132 后端服务器2 httpd,8080端口 192.168.161.133 调度服务器 haproxy,8189端口 参考文章,需要对两台后端服务器安装httpd服务,并配置https。 1.使用http访问。 2.使用https访问。 haprox

    2024年02月16日
    浏览(38)
  • 集群基础4——haproxy负载均衡mariadb

    使用haproxy对mysql多机单节点进行负载均衡。 主机IP 角色 安装服务 192.168.161.131 后端服务器1 mariadb,3306端口 192.168.161.132 后端服务器2 mariadb,3306端口 192.168.161.133 调度服务器 haproxy,mariadb客户端 在后端服务器1、2上操作。 1.安装数据库,并启动。 2.数据库账户授权。 3.查看两台

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包