10 2022 档案
摘要:一、基本原理 1. 工作原理 搭建 RabbitMQ 集群以后,尽管交换器和绑定关系能够在单点故障问题上幸免于难,但是队列及其存储的消息却不行,这是因为队列进程及其内容仅仅维持在单个节点之上,所以一个节点的失效表现为其对应的队列不可用。 引入镜像队列(Mirror Queue)的机制,可以将队列镜像
阅读全文
摘要:一、消息存储机制 不管是持久化的消息还是非持久化的消息都可以被写入到磁盘。持久化的消息在到达队列时就被写入到磁盘,非持久化的消息一般只保存在内存中,在内存吃紧的时候会被换入到磁盘中,以节省内存空间。这两种类型的消息的落盘处理都在 RabbitMQ 的“持久层”中完成。 持久层是一个逻辑上的概念,实际
阅读全文
摘要:RabbitMQ 可以通过 3 种方式实现分布式部署:集群、Federation 和 Shovel。这 3 种方式不是互斥的,可以根据需要选择其中的一种或者以几种方式的组合来达到分布式部署的目的。Federation 和 Shovel 可以为 RabbitMQ 的分布式部署提供更高的灵活性,但同时也
阅读全文
摘要:一、插件管理 RabbitMQ 提供了很多的插件,默认存放在 $RABBITMQ_HOME/plugins 目录下。 1. rabbitmq-plugins 语法 rabbitmq-plugins [-n node] {command} [command options...] 2. 启动插件 ra
阅读全文
摘要:一、集群迁移 RabbitMQ 中的集群迁移更多的是用来解决集群故障不可短时间内修复而将所有的数据、客户端连接等迁移到新的集群中,以确保服务的可用性。迁移过程包括元数据重建、数据迁移,以及与客户端连接的切换。 1. 元数据重建 元数据重建是指在新的集群中创建原集群的队列、交换器、绑定关系、vhost
阅读全文
摘要:一、集群搭建 RabbitMQ 集群对延迟非常敏感,应当只在本地局域网内使用。在广域网中不应该使用集群,而应该使用 Federation 或者 Shovel 来代替。 1. 安装 RabbitMQ 在各个节点正确安装 RabbitMQ。安装过程参考:https://www.cnblogs.com/w
阅读全文