Docker环境下搭建Rabbitmq+Haproxy+Keepalived高可用负载均衡集群

该博客详细介绍了如何在Docker环境中搭建Rabbitmq集群,并结合Haproxy实现负载均衡,再通过Keepalived确保高可用性。首先,从Docker拉取Rabbitmq镜像并创建三个节点的集群。接着部署Haproxy,配置Dockerfile和haproxy.cfg文件。最后,部署Keepalived以提供故障切换。整个过程旨在提供一个稳定可靠的分布式消息系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                 集群架构图 

一)使用docker pull  rabbitmq拉取最新rabbimq镜像

 

创建docker网络 rabbtimanet 用于haproxy和rabbimq通信

1

docker network create rabbtimanet

 

创建三节点rabbitmq容器

rabbitmq1

1

docker run -d --name=rabbitmq1 -p 5672:5672 -p 15672:15672 -e RABBITMQ_NODENAME=rabbitmq1 -e RABBITMQ_ERLANG_COOKIE='YZSDHWMFSMKEMBDHSGGZ'  -h rabbitmq1 --net=rabbtimanet rabbitmq:3.7.7-management

rabbitmq2

1

docker run -d --name=rabbitmq2 -p 5673:5672 -p

CBAM(Convolutional Block Attention Module)是一种用于图像分类和目标检测任务的注意力机制。它通过引入通道注意力和空间注意力两个模块,来提高模型对图像特征的建模能力。 CBAM的数学推导如下: 1. 通道注意力模块(Channel Attention Module): 假设输入特征图为X,其尺寸为C×H×W,其中C是通道数,H和W分别是高度和宽度。通道注意力模块的目标是学习一个权重向量,用于对每个通道进行加权。首先,通过全局平均池化操作对输入特征图进行降维,得到一个C维的向量: A = GlobalAvgPool(X) 其中A的维度为C×1×1。然后,通过两个全连接层将A映射为一个C维的权重向量: W = FC(ReLU(FC(A))) 其中FC表示全连接层,ReLU表示激活函数。最后,将权重向量W与输入特征图X进行逐通道相乘,得到加权后的特征图: Y = X ⊗ Sigmoid(W) 其中⊗表示逐元素相乘操作,Sigmoid表示Sigmoid函数。 2. 空间注意力模块(Spatial Attention Module): 假设输入特征图为X,其尺寸为C×H×W。空间注意力模块的目标是学习一个权重矩阵,用于对每个空间位置进行加权。首先,通过两个卷积层将输入特征图X映射为两个特征图: M = Conv(X) N = Conv(X) 其中Conv表示卷积操作。然后,将M和N沿着通道维度进行拼接,得到一个2C维的特征图: Z = Concat(M, N) 其中Concat表示拼接操作。接下来,通过一个卷积层将Z映射为一个C维的权重矩阵: W = Conv(Z) 最后,将权重矩阵W与输入特征图X进行逐元素相乘,得到加权后的特征图: Y = X ⊗ Sigmoid(W) 以上就是CBAM注意力机制的数学推导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wonder4work

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值