JAVA面试题 --- RabbitMQ篇(三)RabbitMQ集群

本文深入探讨了RabbitMQ集群的两大核心作用:高可用性和高容量,详细讲解了节点类型的差异及其对集群稳定性的影响,并提供了搭建集群时的注意事项,包括连接属性、erlangcookie一致性和磁盘节点的重要性。同时,文章揭示了集群节点并非完全复制的原因,以及磁盘节点故障后的集群行为变化,最后强调了正确的节点停止顺序以避免数据丢失。

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

1.RabbitMQ 集群有什么用?

两个用途:

  • 高可用:某个服务器出现问题,整个 RabbitMQ 还可以继续使用
  • 高容量:集群可以承载更多的消息量

2.RabbitMQ 节点的类型有哪些?

  • 磁盘节点:消息会存储到磁盘
  • 内存节点:消息都存储在内存中,重启服务器消息会丢失,性能高于磁盘类型。

3.RabbitMQ 集群搭建需要注意哪些问题?

  1. 各个节点之间使用“-link”连接,此属性不可忽略。
  2. 各个节点使用的 erlang cookie 值必须相同,此值相当于“密钥”的功能,用于各节点的认证
  3. 整个集群中必须包含一个磁盘节点。

4.RabbitMQ 每个节点是其他节点的完整拷贝吗?为什么?

不是,原因如下:

  • 存储空间的考虑:如果每个节点都拥有所有队列的完整拷贝,这样新增节点不但美柚新增存储空间,反而增加了更多的冗余数据
  • 性能的考虑:如果每条消息都需要完整拷贝到每一个集群节点,那新增节点并没有提升消息处理能力,最多是保持和单节点相同的性能甚至更糟。

5.RabbitMQ 集群中唯一一个磁盘节点崩溃了会发生什么?

唯一磁盘节点崩溃了,不能进行以下操作

  • 不能创建队列
  • 不能创建交换器
  • 不能创建绑定
  • 不能添加用户
  • 不能修改权限
  • 不能添加和删除集群节点

节点崩溃了,集群可以保持运行,但不能更改任何东西

6.RabbitMQ 对集群节点停止顺序由要求吗?

RabbitMQ 对集群的停止的顺序是有要求的,应该先关闭内存节点,最后在关闭磁盘节点,如果顺序颠倒,可能会造成消息丢失

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值