热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

高可用性_03:rabbitmq高可用性(haproxy)

RabbitMQ-高可用性(HA)HAProxy

RabbitMQ-高可用性(HA)

HAProxy 是一个免费的负载均衡软件,可以运行于大部分主流的 Linux 操作系统上。

HAProxy 提供了 L4(TCP) L7(HTTP) 两种负载均衡能力,具备丰富的功能。HAProxy 的社区非常活跃,版本更新快速。最关键的是,HAProxy 具备媲美商用负载均衡器的性能和稳定性。它当前不仅仅是免费负载均衡软件的首选,更几乎成为了唯一选择。

因为 RabbitMQ 本身不提供负载均衡,下面我们就搭建 HAProxy,用作 RabbitMQ 集群的负载均衡。

 

1: 安装haproxy node1上面

[root@node1 ~]# yum install haproxy -y

 

2: 配置haproxy

[root@node1 ~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

[root@node1 ~]# vim /etc/haproxy/haproxy.cfg

 

3:将下面的配置添加到/etc/haproxy/haproxy.cfg文件中:

global

    log     127.0.0.1  local0 info

    log     127.0.0.1  local1 notice

    daemon

    maxconn 4096

 

defaults

    log     global

    mode    tcp

    option  tcplog

    option  dontlognull

    retries 3

    option  abortonclose

    maxconn 4096

    timeout connect  5000ms

    timeout client  3000ms

    timeout server  3000ms

    balance roundrobin

 

listen private_monitoring

    bind    0.0.0.0:8100

    mode    http

    option  httplog

    stats   refresh  5s

    stats   uri  /stats

    stats   realm   Haproxy

    stats   auth  admin:admin

 

listen rabbitmq_admin

    bind    0.0.0.0:8102

    server  node1 node1:15672

    server  node2 node2:15672

 

listen rabbitmq_cluster

    bind    0.0.0.0:8101

    mode    tcp

    option  tcplog

    balance roundrobin

    timeout client  3h

    timeout server  3h

    server  node1  node1:5672  check  inter  5000  rise  2  fall  3

    server  node2  node2:5672  check  inter  5000  rise  2  fall  3

 

 3: 启动haproxy

 [root@node1 ~]# systemctl  start haproxy.service

加入开机自启:

 [root@node1 ~]# systemctl  enable  haproxy.service

 

4: HAProxy 配置了三个地址:

http://node1:8100/statsHAProxy 负载均衡信息地址,账号密码:admin/admin

http://node1:8101RabbitMQ Server Web 管理界面(基于负载均衡)。

http://node1:8102RabbitMQ Server 服务地址(基于负载均衡)。

通过访问http://192.168.6.111:8100/stats,查看 HAProxy 负载均衡信息:

 技术图片

 

 

 到此rabbitmq 高可用搭建到此结束。有时间后期会写一些关于zabbix监控rabbitmq的文章。


推荐阅读
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 使用LVS与ldirectord实现高可用负载均衡
    本文介绍了如何通过LVS(Linux Virtual Server)结合ldirectord工具来实现服务器的健康检查及负载均衡功能。环境设置包括一个LVS节点和两个真实服务器节点,通过配置ldirectord进行健康状态监测,确保系统的高可用性。 ... [详细]
  • Linux系统中Java程序Too Many Open Files问题的深入解析与解决方案
    本文详细分析了在Linux环境下运行的Java应用程序中可能出现的“Too many open files”异常现象,探讨其成因及解决方法。该问题通常出现在高并发文件访问或大量网络连接场景下,对系统性能和稳定性有较大影响。 ... [详细]
  • 基于机器学习的人脸识别系统实现
    本文介绍了一种使用机器学习技术构建人脸识别系统的实践案例。通过结合Python编程语言和深度学习框架,详细展示了从数据预处理到模型训练的完整流程,并提供了代码示例。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 本文深入探讨了 Delphi 中类对象成员的核心概念,包括 System 单元的基础知识、TObject 类的定义及其方法、TClass 的作用以及对象的消息处理机制。文章不仅解释了这些概念的基本原理,还提供了丰富的补充和专业解答,帮助读者全面理解 Delphi 的面向对象编程。 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
author-avatar
kenyousay
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有