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

相关文章

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

使用Python和python-pptx构建Markdown到PowerPoint转换器

《使用Python和python-pptx构建Markdown到PowerPoint转换器》在这篇博客中,我们将深入分析一个使用Python开发的应用程序,该程序可以将Markdown文件转换为Pow... 目录引言应用概述代码结构与分析1. 类定义与初始化2. 事件处理3. Markdown 处理4. 转

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization