当前位置: 首页 > news >正文

RabbitMQ--集群

一、集群简介

一个RabbitMQ broker是一个或者几个Erlang节点的一个逻辑分组,每个节点运行着RabbitMQ应用和共享用户、虚拟主机、队列、交换机等等。有时候我们把这些节点集合作为集群。

为了做到可靠、可扩展和ACID属性,所有数据或者状态都需要RabbitMQ broker复制到所有节点。对此,一个例外是消息队列,默认驻留在创建它们的节点上,虽然它们对于所有节点都是可访问和可见的。通过节点在集群内复制队列,可以参见这里(需要注意的是首先必须是集群)。

RabbitMQ不能很好的处理分区容忍,所以它不能用于WAN。shovel或者federation插件很能很好的解决这个问题。

集群的配置能够被动态地改变。所有RabbitMQ broker在一个单独的节点上开始运行,这些节点能够被加入到集群中,随后又能转换成单独的broker。

RabbitMQ broker容忍个别节点的失败。节点能够被随意的启动和停止。

一个节点可以是磁盘节点或者内存节点(注意:disk和disc在使用上是可交换的,配置语法或者状态消息通常使用disc)。内存节点保持它们的状态仅仅在内存中(队列内容除外,如果队列持久化或者太大不能放在内存中则驻留在磁盘上)。磁盘节点保持状态在内存中和磁盘上。内存节点不会像磁盘节点一样写入到磁盘,因此性能更佳。然而,需要注意的是队列数据一直存储在磁盘上,性能的提升仅仅影响到资源管理(例如:添加/删除队列、交换机、或者虚拟机),而不是发布和消费速度。因为状态复制到集群内所有节点,所以集群内可以只有一个磁盘节点(但是不推荐)用于存储集群状态。

http://www.dtcms.com/a/250008.html

相关文章:

  • java设计模式[2]之创建型模式
  • 学习设计模式《十三》——迭代器模式
  • C++线性DP-最优解问题、方案数问题
  • Design Compiler:解组(Ungroup)
  • 自编码模型原理
  • Python中提取图片特征的指南
  • 2.2 订阅话题
  • 在Ubuntu linux终端写文件的方法
  • DataWhale-零基础网络爬虫技术(一)
  • 互联网大厂Java求职面试:云原生架构与微服务设计中的复杂挑战
  • sql列中数据通过逗号分割的集合,对其中的值进行全表查重
  • Unity 对象层级处理小结
  • 关于allegro 导入网表报错:Unable to find pin name in问题的解决
  • Java 复习题选择题(1)(Java概述)
  • 三维重建 —— 5. 双目立体视觉
  • 多线程与多进程技术全景对比
  • Docker 部署 RomM 指南:打造私有戏库与即点即玩系统
  • 基于“数智立体化三维架构”框架的医疗数智化机制研究
  • 2025.06.11-华子第三题-300分
  • QEMU源码全解析 —— 块设备虚拟化(30)
  • 华硕笔记本怎么装win11系统_华硕笔记本装win11专业版图文教程
  • 如何在 Elementary OS 上安装最新版本的 VirtualBox
  • YOLOv3 训练与推理流程详解-结合真实的数据样例进行模拟
  • Vue3 + TypeScript 父组件点击按钮触发子组件事件方法
  • RK AndroidFramework 内置应用可,卸载,恢复出厂设置恢复安装
  • 项目拓展-Apache对象池,对象池思想结合ThreadLocal复用日志对象
  • HEAD ` 只返回响应头(Headers),不返回正文内容(Body)
  • 融智学教育观及其数学公式体系凝练汇总
  • 11_13小结
  • 芯片测试之trim详解