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

相关文章

服务器集群同步时间手记

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 与硬件设备的交互,包括输入输出设

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者