rabbitmq基于haproxy和keepalived构建高可用集群

2024-08-28 09:18

本文主要是介绍rabbitmq基于haproxy和keepalived构建高可用集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.rabbitmq安装参照之前博客
2.haproxy的安装,haproxy的安装主要是看懂配置文件,以下为使用docker-compose方式安装的相关配置文件

#新建haproxy文件加,
mkdir /data/haproxy
#新建docker-compose.yml文件和haproxy.cfg文件

docker-compose.yml

version: "3.9"
services:haproxy:image: haproxy:2.3.4container_name: haproxyrestart: alwaysvolumes:- /data/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfgports:- 8888:8888  # 监控端口- 56720:56720 # rabbitmq端口- 61600:61600 # stomp端口privileged: true

haproxy.cfg

global      #全局设置maxconn         20000   #最大连接数log             127.0.0.1 local0   #日志输出配置,所有日志都记录在本机,通过local0输出daemon   #以后台形式运行haproxy
defaults      #默认设置mode            http   #工作模式,支持TCP、http、healthlog             global   #使用global的日志option          httplog    #启用HTTP请求,会话状态和计时器的日志记录option          dontlognull   #启用空连接不记录日志maxconn         8000   #设置最大套接字连接数timeout client  30s   #设置客户端的最长不活动时间retries         2   #2次连接失败就认为服务器不可用,主要通过后面的check检查option redispatch   #当serverid对应的服务器挂掉后,强制定向到其他健康服务器timeout connect 5s   #设置等待连接尝试到服务器成功的最长时间。timeout server  30s   #设置服务器端的最长不活动时间。timeout queue   30s    #设置队列中等待连接池空闲的最长时间frontend dashboard       #haproxy监控代理bind  *:8888mode  http#URI相对地址stats uri   /dashboard#统计报告格式stats realm     Global\ statistics#登陆帐户信息stats auth  admin:123456frontend rabbitmq       #rabbitmq代理bind *:56720default_backend dynamicstats refresh   5sbackend dynamic      #后台mode httpstats refresh   5sbalance roundrobin   #负载均衡算法(轮循)server master01 192.168.56.105:5672 check port 5672 weight 1 maxconn 2000server slave02 192.168.56.106:5672 check port 5672 weight 1 maxconn 2000server slave01 192.168.56.107:5672 check port 5672 weight 1 maxconn 2000frontend rabbitmq_stomp       #rabbitmq_stomp代理mode tcpoption tcplogbind *:61600default_backend dynamic_stompbackend dynamic_stomp      #后台mode tcpoption tcplogbalance roundrobin   #负载均衡算法(轮循)server master01 192.168.56.105:61613 check port 61613 weight 1 maxconn 5000server slave02 192.168.56.106:61613 check port 61613 weight 1 maxconn 5000server slave01 192.168.56.107:61613 check port 61613 weight 1 maxconn 5000

配置完启动,然后访问haproxy的监控页面
http://192.168.56.107:8888/dashboard
在这里插入图片描述
3.frontend配置方式
haproxy.cfg

global      #全局设置maxconn         20000   #最大连接数log             127.0.0.1 local0   #日志输出配置,所有日志都记录在本机,通过local0输出daemon   #以后台形式运行haproxy
defaults      #默认设置mode            http   #工作模式,支持TCP、http、healthlog             global   #使用global的日志option          httplog    #启用HTTP请求,会话状态和计时器的日志记录option          dontlognull   #启用空连接不记录日志maxconn         8000   #设置最大套接字连接数timeout client  30s   #设置客户端的最长不活动时间retries         2   #2次连接失败就认为服务器不可用,主要通过后面的check检查option redispatch   #当serverid对应的服务器挂掉后,强制定向到其他健康服务器timeout connect 5s   #设置等待连接尝试到服务器成功的最长时间。timeout server  30s   #设置服务器端的最长不活动时间。timeout queue   30s    #设置队列中等待连接池空闲的最长时间listen dashboard       #haproxy监控代理bind  *:8888mode  http#URI相对地址stats uri   /dashboard#统计报告格式stats realm     Global\ statistics#登陆帐户信息stats auth  admin:123456listen rabbitmqbind *:56720mode httpstats refresh   5sbalance roundrobin   #负载均衡算法(轮循)server master01 192.168.56.105:5672 check port 5672 weight 1 maxconn 2000server slave02 192.168.56.106:5672 check port 5672 weight 1 maxconn 2000server slave01 192.168.56.107:5672 check port 5672 weight 1 maxconn 2000listen rabbitmq_stompbind *:61600mode tcpoption tcplogbalance roundrobin   #负载均衡算法(轮循)server master01 192.168.56.105:61613 check port 61613 weight 1 maxconn 5000server slave02 192.168.56.106:61613 check port 61613 weight 1 maxconn 5000server slave01 192.168.56.107:61613 check port 61613 weight 1 maxconn 5000

该方式haproxy监控状态如下
在这里插入图片描述

这篇关于rabbitmq基于haproxy和keepalived构建高可用集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114355

相关文章

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Springboot使用RabbitMQ实现关闭超时订单(示例详解)

《Springboot使用RabbitMQ实现关闭超时订单(示例详解)》介绍了如何在SpringBoot项目中使用RabbitMQ实现订单的延时处理和超时关闭,通过配置RabbitMQ的交换机、队列和... 目录1.maven中引入rabbitmq的依赖:2.application.yml中进行rabbit

SpringBoot整合Canal+RabbitMQ监听数据变更详解

《SpringBoot整合Canal+RabbitMQ监听数据变更详解》在现代分布式系统中,实时获取数据库的变更信息是一个常见的需求,本文将介绍SpringBoot如何通过整合Canal和Rabbit... 目录需求步骤环境搭建整合SpringBoot与Canal实现客户端Canal整合RabbitMQSp

Nacos集群数据同步方式

《Nacos集群数据同步方式》文章主要介绍了Nacos集群中服务注册信息的同步机制,涉及到负责节点和非负责节点之间的数据同步过程,以及DistroProtocol协议在同步中的应用... 目录引言负责节点(发起同步)DistroProtocolDistroSyncChangeTask获取同步数据getDis

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设