`
flyingdutchman
  • 浏览: 357054 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

RabblitMQ Cluster + HAProxy(负载均衡)

阅读更多
        在本节中,我们主要来学习软件负载均衡器HAProxy在RabbitMQ集群中的使用。

        软件负载均衡器HAProxy
        HAProxy的特点是:
        1、HAProxy是支持虚拟主机的,,并能支持上万级别的连接;
        2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作;
        3、支持url检测后端的服务器出问题的检测会有很好的帮助;
        4、它跟LVS一样,本身仅仅就只是一款负载均衡软件;单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的;
        5、HAProxy可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,不过在后端的MySQL slaves数量超过10台时性能不如LVS,所以我向大家推荐LVS+Keepalived;
        6、能够提供4层,7层代理。HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器、内部协议通信服务器等),和7层(HTTP)。在4层模式 下,HAProxy仅在客户端和服务器之间转发双向流量,7层模式下,HAProxy会分析协议,并且能通过允许、拒绝、交换、增加、修改或者删除请求 (request)或者回应(response)里指定内容来控制协议,这种操作要基于特定规则;
        7、HAProxy的算法现在也越来越多了,具体有如下8种:
             ①roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;
             ②static-rr,表示根据权重,建议关注;
             ③leastconn,表示最少连接者先处理,建议关注;
             ④source,表示根据请求源IP,这个跟Nginx的IP_hash机制类似,我们用其作为解决session问题的一种方法,建议关注;
             ⑤ri,表示根据请求的URI;
             ⑥rl_param,表示根据请求的URl参数'balance url_param' requires an URL parameter name;
             ⑦hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
             ⑧rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。

         好了,下面我们来开始安装HAProxy:
引用

         # wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz
         # chmod +x haproxy-1.4.24.tar.gz
         # tar xzvf haproxy-1.4.24.tar.gz
         # cd haproxy-1.4.24
         //linux2.6 kenel的epoll功能可以提高HAProxy的性能,故在编译是要加上TARGET=linux26或TARGET=generic
         # make TARGET=generic
         # make install

        


         配置RabbitMQ集群的HAProxy
         下面我们开始先来创建rabbitmq集群,详情参看《在单节点上构建built-in内置集群》,这里不再赘述。
         接下来我们编辑集群的配置文件:
引用

         # mkdir conf
         # touch haproxy-rabbitmq.conf
         # chmod +x haproxy-rabbitmq.conf
         # vi haproxy-rabbitmq.conf

        

         haproxy-rabbitmq.conf配置文件内容如下:
引用

# this config needs haproxy-1.4.24

#logging options
global
        log 127.0.0.1 local0 info
        maxconn 5120
        chroot /opt/haproxy-1.4.24
        uid 99
        gid 99
        daemon
        quiet
        nbproc  2
        pidfile /opt/haproxy-1.4.24/haproxy.pid

#load balancing defaults
defaults
       log        global
       #使用4层代理模式,"mode   http"为7层代理模式
       mode       tcp
       #if you set mode to tcp,then you nust change tcplog into httplog
       option     tcplog
       option     dontlognull
       retries    3
       option redispatch
       maxconn 2000
       contimeout      5s
       clitimeout      120s
       srvtimeout      120s

#front-end IP for consumers and producters
listen rabbitmq_local_cluster 127.0.0.1:5670
       #配置TCP模式
       mode      tcp
       #balance url_param userid
       #balance url_param session_id check_post 64
       #balance hdr(User-Agent)
       #balance hdr(host)
       #balance hdr(Host) use_domain_only
       #balance rdp-cookie
       #balance leastconn
       #balance source  //ip
       #简单的轮询
       balance roundrobin
       #rabbitmq集群节点配置
       server rabbit  127.0.0.1:5672 check inter 5000 rise 2 fall 2
       server rabbit2 127.0.0.1:5674 check inter 5000 rise 2 fall 2
       server rabbit3 127.0.0.1:5676 check inter 5000 rise 2 fall 2

#配置haproxy web监控,查看统计信息
listen private_monitoring :8100
       mode    http
       option  httplog
       stats   enable
       #设置haproxy监控地址为http://localhost:8100/rabbitmq-stats
       stats   uri  /rabbitmq-stats
       stats   refresh 5s
        

       好了到这里就将rabbitmq集群的haproxy配置文件写好了,下面我们来启动haproxy:
引用

       # /opt/haproxy-1.4.24/haproxy -f /opt/haproxy-1.4.24/conf/haproxy-rabbitmq.conf
      

       最后我们打开http://localhost:8100/rabbitmq-stats,看一下监控页面,如果显示出正常就表明已经将HAProxy负载均衡配置好了!

       我们做一个测试,如果将rabbit3这个rabbitmq停掉,那么在HAProxy监控页面就会江浙一变化显示出来,rabbit3这一行就会显示“棕红色”:


      
        
       
  • 大小: 119.6 KB
  • 大小: 119.8 KB
分享到:
评论

相关推荐

    mariadb+haproxy负载均衡集群搭建.docx

    Mariadb+Haproxy负载均衡集群搭建 Mariadb 是一个开源的关系数据库管理系统,它是 MySQL 的一个分支,具有高性能、可靠性和可扩展性等特点。Galera 是一个 MySQL(也支持 MariaDB、Percona)的同步多主集群软件,...

    keepalived+haproxy负载均衡配置.ppt

    keepalived+haproxy负载均衡配置 1、 操作系统:RedHat linux6.5 64bit 2、 keepalive: keepalived-1.2.19.tar.gz 地址:http://www.keepalived.org/download.html 3、 Haproxy: haproxy-1.5.8.tar.gz 地址(不能...

    linux rabbitmq+haproxy分布式负载均衡生产环境部署完成

    linux rabbitmq+haproxy分布式负载均衡生产环境部署完成 技术:rabbitmq集群 linux haproxy负载均衡 说明包含: rabbitmq安装程序 MQ集群负载均衡部署帮助文档 MQ集群负载均衡使用帮助文档 MQ集群负载均衡遇到...

    mariadb+haproxy负载均衡集群搭建

    Galera是一个MySQL(也支持MariaDB,Percona)的同步多主集群软件,目前只支持InnoDB引擎。 主要功能: • 同步复制 • 真正的multi-master,即所有节点可以同时读写数据库 • 自动的节点成员控制,失效节点自动被...

    mysql+mycat+keepalived+haproxy集群(生产环境实测).doc

    总结来说,这个集群环境通过MySQL提供数据库服务,Mycat进行数据分片和负载均衡,Keepalived确保主从切换的高可用性,而HAProxy则进一步增强了对外服务的负载均衡能力。这样的组合可以有效提升系统的稳定性和处理...

    keepalived+haproxy+mycat配置文件.rar

    总之,`keepalived+haproxy+mycat` 的组合为 MySQL 数据库提供了高可用性和负载均衡的解决方案,能够在保障服务稳定的同时,提升系统的处理能力和容错性。通过合理配置和维护,可以有效地应对大规模业务场景下的...

    Role部署LNMP+HAproxy+keepalived高可用.docx

    "Role部署LNMP+HAproxy+keepalived高可用" 本文将详细介绍如何使用Ansible搭建高可用的LNMP(Linux、Nginx、Mysql、PHP)环境,并使用HAproxy和keepalived实现负载均衡和高可用性。 一、Ansible简介 Ansible是一种...

    MyCAT+HAproxy集群高可用配置

    MyCAT+HAproxy集群高可用配置是指通过使用HAproxy、Keepalived等软件来解决MyCAT的单点故障和负载均衡问题,从而提高系统的可用性和稳定性。本文将详细介绍MyCAT+HAproxy集群高可用配置的实现步骤和配置细节。 一、...

    HAProxy+Nginx实现负载均衡

    综上所述,HAProxy+Nginx是一种强大的组合,不仅能够实现高效的负载均衡,还能提供高可用性和灵活性。通过对负载均衡算法的选择、合理的环境配置及细致的运维管理,可以最大限度地发挥这套方案的优势,满足不同规模...

    安装haproxy负载均衡MySQL

    本文介绍了如何在OracleLinux6.6操作系统上安装并配置haproxy作为MySQL数据库的负载均衡器。haproxy作为高性能的负载均衡软件,在此场景下用于分配和调度MySQL服务器的负载请求,以优化数据库性能和可靠性。本文涉及...

    Keepalived+HAProxy实现MySQL高可用负载均衡的配置

    当主MySQL服务器出现问题时,Keepalived会自动将VIP切换到备份服务器,同时HAProxy会根据新的配置继续进行负载均衡。这种方案不仅提高了系统的稳定性,还确保了业务连续性,降低了因数据库故障导致的服务中断风险。

    用Keepalived与HAProxy实现高可用负载均衡的配置方法.docx

    【Keepalived与HAProxy高可用负载均衡配置详解】 负载均衡是现代分布式系统中的关键组件,它通过将网络流量分发到多个后端服务器,确保服务的稳定性和高可用性。Keepalived与HAProxy结合使用,能构建出一套强大的...

    rabbitmq 镜像集群 +Haproxy负载均衡 +keepalived高可用-附件资源

    rabbitmq 镜像集群 +Haproxy负载均衡 +keepalived高可用-附件资源

    Keepalived+HAProxy配置高可用负载均衡,解决keepalived无法安装问题

    - 主机 (Haproxy+Keepalived): 192.168.200.104:1080 - 备机 (Haproxy+Keepalived): 192.168.200.101:1080 - 虚拟IP (VIP): 192.168.200.181 - Web服务器: 192.168.200.104:8080, 192.168.200.104:9090 #### 三...

    Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群

    Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群 本文将详细介绍如何使用Mysql、Haproxy、Mycat、PXC、Zookeeper实现高可用集群,涵盖了整个架构图、应用程序的访问流程、数据的读写分离、负载均衡、数据库节点的...

    RabbitMq+Haproxy

    Haproxy 是一个知名的负载均衡器,它可以帮助我们实现高可用的服务器集群。在这里,我们将讲解如何在 Centos 6.8 下安装和配置 RabbitMq 集群,并使用 Haproxy 实现高可用的负载均衡。 一、 系统参数 在开始安装...

    LVS+HAPROXY+NGINX+mysql+N7200.html

    LVS+HAproxy+NGINX+mysql+nf综合实验过程,详细步骤,可以参考。

    基于Keepalived+Haproxy搭建四层负载均衡

    基于Keepalived+Haproxy搭建四层负载均衡器

Global site tag (gtag.js) - Google Analytics