高效多用的群集-Haproxy搭建Web集群

这篇具有很好参考价值的文章主要介绍了高效多用的群集-Haproxy搭建Web集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Haproxy搭建 Web 群集

一、Haproxy前言

  • HAProxy是一个使用c语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TcP和HrrP的应用程序代理。
  • HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。EAPrcxp运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
  • HAProxy实现了一种事件驱动,单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space)实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以使每个CPU时间片(Cycle)做更多的工作。
  • 包括GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter和 Tuenti在内的知名网站,及亚马逊网络服务系统都使用了HAProxy。

二、常见的Web集群调度器

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

三、Haproxy应用分析

  • LVS在企业应用中抗负载能力很强,但存在不足
    • LVS不支持正则处理,不能实现动静分离
    • 对于大型网站,LVS的实施配置复杂,维护成功相对较高
  • Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理的软件
    • 适用于负载大的Web站点
    • 运行在硬件上可支持数万计的并发连接的连接请求

四、Haproxy高性能负载均衡主要优点

  • Haproxy在负载均衡速度和并发处理上是优于
  • NginxHaproxy支持虚拟主机,可以工作在4、7层
  • 能够补充Nginx的一些缺点,比如session的保持、cookie的引导等工作
  • 支持url检测后端的服务器的状态
  • Haproxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡
  • 支持很多负载均衡算法,Round-robin(轮询)、weight-round-robin(加权轮询)、source(原地址保持)、RI(请求URL)、rdp-cookie(根据cookie)

五、四层与七层负载均衡的主要区别

  • 四层负载均衡器是通过分析IP层及TCP/UDP层的流量实现的基于"IP +端口"的负载均衡,主要通过报文的目标地址和端口配合负载均衡算法选择后端真实服务器,确定是否需要对报文进行修改(根据需求,可能会修改目标地址、源地址、MAc地址等)并将数据转发至选出的后端真实服务器。
  • 七层负载均衡器是基于应用层信息(如URI、Cookies等)的负载均衡。主要依据报文的内容配合负载均衡算法选择后端真实服务器,然后再分发请求到真实服务器进行处理,也称"内容交换器"。客户端与负载均衡器、负载均衡器与后端真实服务器之间会分别建立CP连接。

六、LVS和Haproxy应用分析

  • LVS在企业应用中抗负载均衡能力很强,但存在不足
  • LVS不支持正则处理(因为是应用层),不能实现动静分离对于大型网站,LVS的实施配置复杂,维护成本相对较高
  • Haproxy是一块可提供高可用性、负载均衡及基于rCP和HTTP应用的代理软件特别适合于负载特别大的web站点(可以承受高并发,可与Nginx配合)
  • 运行在当前的硬件上可支持数以万计的并发连接请求

七、Nginx和LVS和Haproxy有什么区别

  • 支持正则
  • 只支持基于端口的健康检查
  • 不支持session 的直接保持,但能通过Ip _hash来解决
  • 对网络稳定性要求不高
  • 反向代理能力强
  • nginx 社区活跃

2、LVS

  • 只能基于四层端口转发
  • 在四层做分发作用,抗负载能力强
  • 应用范围广(几乎可以对所有应用做负载)

3、Haproxy

  • 支持8种负教均衡策略
  • 仅做负载均衡软件使用,在高并发情况下性能优于Nginx
  • 支持URL健康检测、支持session保持

八、Haproxy搭建 Web 群集

Haproxy服务器192.168.50.41

Nginx服务器 192.168.50.57

Nginx服务器 192.168.50.59

1、部署haproxy服务器(192.168.50.41)

systemctl stop firewalld
setenforce 0

cd /opt
haproxy-1.5.19.tar.gz
yum install -y pcre-devel bzip2-devel gcc gcc-c++ make

tar zxvf haproxy-1.5.19.tar.gz
cd haproxy-1.5.19/
make TARGET=linux2628 ARCH=x86_64
make install

2、Haproxy服务器配置

mkdir /etc/haproxy
cp examples/haproxy.cfg /etc/haproxy/

cd /etc/haproxy/
vim haproxy.cfg

global		#全局配置,主要用于定义全局参数,属于进程级的配置,通常和操作系统配置有关
--4~5行--修改,定义haproxy日志输出设置和日志级别,local0为日志设备,默认存放到系统日志
		log /dev/log   local0 info		#修改
        log /dev/log   local0 notice	#修改
        #log loghost    local0 info
        maxconn 4096			#最大连接数,需考虑ulimit -n限制,推荐使用10240
--8行--注释,chroot运行路径,为该服务自设置的根目录,一般需将此行注释掉
        #chroot /usr/share/haproxy
        uid 99					#用户UID
        gid 99					#用户GID
        daemon					#守护进程模式
		nbproc 1				#添加,设置并发进程数,建议与当前服务器CPU核数相等或为其2倍

defaults   	#配置默认参数,这些参数可以被用到Listen,frontend,backend组件     
		log     global			#引入global定义的日志格式
        mode    http			#模式为http(7层代理http,4层代理tcp)
        option  httplog			#日志类别为http日志格式
        option  dontlognull		#不记录健康检查日志信息
        retries 3				#检查节点服务器失败次数,连续达到三次失败,则认为节点不可用
        redispatch				#当服务器负载很高时,自动结束当前队列处理比较久的连接
        maxconn 2000			#最大连接数,“defaults”中的值不能超过“global”段中的定义
        #contimeout 5000        #设置连接超时时间,默认单位是毫秒
        #clitimeout 50000       #设置客户端超时时间,默认单位是毫秒
        #srvtimeout 50000       #设置服务器超时时间,默认单位是毫秒
        timeout http-request 10s 	#默认http请求超时时间
        timeout queue 1m   		#默认队列超时时间
        timeout connect 10s		#默认连接超时时间,新版本中替代contimeout,该参数向后兼容
        timeout client 1m		#默认客户端超时时间,新版本中替代clitimeout,该参数向后兼容
        timeout server 1m		#默认服务器超时时间,新版本中替代srvtimeout,该参数向后兼容
        timeout http-keep-alive 10s		#默认持久连接超时时间
        timeout check 10s		#设置心跳检查超时时间


--删除下面所有listen项--,添加
listen  webcluster 0.0.0.0:80	#haproxy实例状态监控部分配置,定义一个名为webcluster的应用
        option httpchk GET /test.html	#检查服务器的test.html文件
        balance roundrobin				#负载均衡调度算法使用轮询算法roundrobin
        server inst1 192.168.50.57:80 check inter 2000 fall 3		#定义在线节点
        server inst2 192.168.50.59:80 check inter 2000 fall 3
		


---------------------参数说明---------------------------------------------------------------------------
balance roundrobin		#负载均衡调度算法
#轮询算法:roundrobin;最小连接数算法:leastconn;来源访问调度算法:source,类似于nginx的ip_hash

check inter 2000		#表示启用对此后端服务器执行健康检查,设置健康状态检查的时间间隔,单位为毫秒连续三次检测不到心跳频率则认为该
fall 3					#表示节点失效
若节点配置后带有“backup”表示该节点只是个备份节点,仅在所有在线节点都失效该节点才启用。不携带“backup”,表示为主节点,和其它在线节点共同提供服务。

3、编译安装Nginx服务器(192.168.50.57、192.168.50.59)

192.168.50.57

echo "this is qf web" > /usr/local/nginx/html/test.html

192.168.50.59

echo "this is lc web" > /usr/local/nginx/html/test.html

4、启动Haproxy服务(192.168.50.41)

cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
cd /etc/init.d/
ls
chmod +x haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

service haproxy start	或	/etc/init.d/haproxy start

5、测试

在客户端使用浏览器打开 http://192.168.50.41/test.html ,不断刷新浏览器测试负载均衡效果

高效多用的群集-Haproxy搭建Web集群,服务器,运维

 高效多用的群集-Haproxy搭建Web集群,服务器,运维

 文章来源地址https://www.toymoban.com/news/detail-664183.html

到了这里,关于高效多用的群集-Haproxy搭建Web集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Haproxy搭建Web集群

    目录 一、什么是HAproxy 二、HAproxy特性 三、HAproxy负载均衡策略 四、LVS、nginx、HAproxy的区别 五、HProxy集群数据流向 5.1数据流向图 五、Haproxy搭建Web集群 5.1haproxy 服务器部署 5.2节点服务器部署 5.3测试 Web群集 HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免

    2024年02月13日
    浏览(30)
  • 【lvs集群】HAProxy搭建Web集群

    HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。HAProxy非常适用于并发大(并发达1w以上)web站点,这些站点通常又需要会话保持或七层处理。HAProxy的运行模式使得它可以很简单安全的整合至当前的架构中,同时可以保

    2024年02月09日
    浏览(22)
  • 【LVS】4、HAProxy搭建web集群

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

    2024年02月11日
    浏览(28)
  • 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日
    浏览(26)
  • Web服务器群集:部署LNMP平台

    目录 一、理论 1.LNMP平台 2.Nginx服务基础 3.Nginx访问控制 4.Nginx虚拟主机 5.PHP 二、实验 1.LNMP架构+DISCUZ论坛应用 三、问题 1.没有规则可以创建“default”需要的目标“build”。          2.nginx重启报错 3.yum安装提示报错 4.配置文件报错 5.PHP页面无法打开 四、总结 (1)概念 LNMP平

    2024年02月11日
    浏览(33)
  • Web服务器群集:Nginx网页及安全优化

    目录 一、理论 1.Nginx网页优化 2.Nginx安全优化 3.Nginx日志分割 二、实验 1.网页压缩 2.网页缓存 3.连接超时设置 4.并发设置 5.隐藏版本信息  6.脚本实现每月1号进行日志分割 7.防盗链 三、总结 (1)概述 在企业中,部署Nginx后只采用默认的配置参数,会引发网站很多问题,换言

    2024年02月13日
    浏览(31)
  • haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)

    目录 一、准备 二、在作为haproxy的服务器上导入以下shell执行haproxy安装 三、由于nginx服务需要用的nfs共享目录,先部署nfs 四、nginx服务器1部署 五、nginx服务器2部署同上 六、测试 一、准备 四台服务器 系统 IP 搭建服务器 centos7 192.168.1.12 haproxy centos7 192.168.1.132 nfs(rpcbind) ce

    2024年02月09日
    浏览(35)
  • Web服务器群集:四层代理与七层代理

    目录 一、理论 1.OSI七层模型 2.四层代理 3.七层代理 4.四层代理与七层代理区别 5.负载均衡器 6.常见的代理组件 7.应用场景 二、总结 (1)概念 标准的七层网络分层是OSI七层模型,TCP/IP五层模型和TCP/IP四层模型是从OSI七层优化而来。 在后台服务部署、运维的场景中,经常会用

    2024年02月12日
    浏览(32)
  • web集群学习:基于CentOS 7构建 LVS-DR 群集并配置服务启动脚本

    目录 1、环境准备 2、配置lvs服务启动脚本 1、在RS上分别配置服务启动脚本 2、在lvs director上配置服务启动脚本 3、客户端测试 配置LVS-DR模式主要注意的有 1、vip绑定在RS的lo接口; 2、RS做arp抑制; VIP=192.168.95.10 RS1=192.168.95.11 RS2=192.168.95.12 网络接口:ens33 在两台RS上分别准备w

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

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

    2024年02月07日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包