96SEO 2026-02-20 08:52 11
RabbitMQ是用Erlang开发的集群非常方便因为Erlang天生就是一门分布式语言但其本身并不支持负载均衡。

(3)镜像模式(把需要的队列做成镜像队列存在于多个节点属于RabbitMQ的HA方案在对业务可靠性要求较高的场合中比较适用)。
要实现镜像模式需要先搭建一个普通集群模式在这个模式的基础上再配置镜像模式以实现高可用。
RabbitMQ的集群节点包括:内存节点、磁盘节点。
RabbitMQ支持消息的持久化
也就是数据写在磁盘上最合适的方案就是既有内存节点又有磁盘节点。
RabbitMQ集群节点必须在同一网段里如果是跨广域网效果会变差。
更改三台MQ节点的计算机名分别为rabbitmq1、rabbitmq2
rabbitmq1#如果先安装了rabbitMQ后改的主机名,启动可能会有问题
/etc/rabbitmq/rabbitmq-env.conf
#注意这里的主机名修改对应的节点主机名rabbitmq软件安装
arm架构安装RabbitMQ并升级erlang解决Requires:
#RabbitMQ提供了一个非常友好的图形化监控页面插件rabbitmq_management让我们可以一目了然看见Rabbit的状态或集群状态。
mqtt://192.168.1.17:1883#开启Mqtt的websocket插件
Rabbitmq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。
Erlang的集群中各节点是经由过程一个magic
cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中文件是400的权限。
所以必须保证各节点cookie一致,不然节点之间就无法通信。
/var/lib/rabbitmq/.erlang.cookie
HKHIEHFDVNFFGGPQ#用scp的方式将rabbitmq1节点的.erlang.cookie的值复制到其他两个节点中。
/var/lib/rabbitmq/.erlang.cookie
root192.168.1.17:/var/lib/rabbitmq/.erlang.cookie#重启服务
/var/lib/rabbitmq/.erlang.cookie
root192.168.1.18:/var/lib/rabbitmq/.erlang.cookiesudo
https://blog.csdn.net/u014209205/article/details/106647229
/var/lib/rabbitmq/.erlang.cookie
/var/log/rabbitmq/rabbitrabbitmq3.log,
/var/log/rabbitmq/rabbitrabbitmq3.logfailed
/var/log/rabbitmq/rabbitrabbitmq3_upgrade.log,
/var/log/rabbitmq/rabbitrabbitmq3_upgrade.log将rabbitmq2、rabbitmq3作为内存节点加入rabbitmq1节点集群中
Rabbitmq各节点版本不一致导致的(1默认rabbitmq启动后是磁盘节点在这个cluster命令下rabbitmq2和rabbitmq3是内存节点rabbitmq1是磁盘节点。
2如果要使rabbitmq2、rabbitmq3都是磁盘节点去掉–ram参数即可。
在RabbitMQ集群中必须至少有一个磁盘节点否则队列元数据无法写入到集群中当磁盘节点宕掉时集群将无法写入新的队列元数据信息。
我这里有rabbitmq3.8.2和3.8.18版本的rpm包,有需要可以给我留言或评论
rabbitmq-server-3.8.2-1.el7.noarch.rpm
epel-release-7-11.noarch.rpm#yum查询安装包与卸载
erlang-23.3.4.4-1.el7.x86_64.rpm
rabbitmq-server-3.8.18-1.el7.noarch.rpm#然后重新加入到集群
rabbitrabbitmq1Versionsrabbitrabbitmq2:
输入之前创建的用户Usernameadmin输入Password:beyond_2021
在RabbitMQ集群中必须至少有一个磁盘节点否则队列元数据无法写入到集群中当磁盘节点宕掉时集群将无法写入新的队列元数据信息。
上面已经完成RabbitMQ默认集群模式但并不保证队列的高可用性尽管交换机、绑定这些可以复制到集群里的任何一个节点但是队列内容不会复制。
虽然该模式解决一项目组节点压力但队列节点宕机直接导致该队列无法应用只能等待重启所以要想在队列节点宕机或故障也能正常应用就要复制队列内容到集群里的每个节点必须要创建镜像队列。
镜像队列是基于普通的集群模式的然后再添加一些策略所以你还是得先配置普通集群然后才能设置镜像队列我们就以上面的集群接着做。
设置的镜像队列可以通过开启的网页的管理端也可以通过命令这里说的是其中的网页设置方式。
比如:在rabbitmq1节点的控制台上创建策略:http://192.168.1.17:15672
点击Admin菜单–-右侧的Policies选项–-左侧最下下边的Add/update
Definition:使用ha-mode模式中的all也就是同步所有匹配的队列。
问号链接帮助文档。
此时分别登陆rabbitmq2、rabbitmq3两个节点的控制台可以看到上面添加的这个策略
Name:队列名称Durability:队列是否持久化Node消息队列的节点Auto
Persistent:表示持久化Headers:随便填写即可Properties:点击问号选择一个消息ID号Payload:消息内容
点击queue按钮发现ab队列的Ready和Total中多了一条消息记录。
(1将rabbitmq1节点的服务关闭再通过rabbitmq2和rabbitmq3查看消息记录是否还存在。
从中可以看到ab队列已经从之前的2显示成1了而且消息记录是存在的。
(2再将rabbitmq2节点的服务关闭通过rabbitmq3查看消息记录是否还存在。
从rabbitmq3控制台中可以看到ab队列和消息记录还是存在的只是变成了一个节点了。
//启动rabbitmq1、rabbitmq2的rabbit应用
从中可以看到ab队列后面2变成了粉色鼠标指上去显示镜像无法同步。
如果这时候停掉rabbitmq3节点的服务那么队列里面的消息将会丢失。
采取的解决办法是选择在rabbitmq1或rabbitmq2节点上执行同步命令。
这样我们就测试了rabbitmq集群的破坏性测试说明集群配置成功。
https://blog.51cto.com/11134648/2155934
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback