首页 > 其他分享 >rabbitmq 集群模式简介

rabbitmq 集群模式简介

时间:2024-07-05 11:45:07浏览次数:8  
标签:简介 rabbitmq 集群 模式 rabbit01 rabbit02 节点

  为什么搭建rabbitmq集群?rabbitmq集群有那些模式?如何搭建Rabbitmq集群?rabbitmq镜像高可用策略有那些?

1、首先这款产品本身的优点众多,大家最看好的便是他的异步化提高系统抗峰值能力,然后便是系统及功能结构解耦,那么照此两点来说,他的在整个系统中的作用还是至关重要的,那么如此重要,当然要考虑他的高可用性,那么便有啦第一个问题的解答。

 

2、rabbitmq有3种模式,但集群模式是2种。详细如下:

  • 单一模式:即单机情况不做集群,就单独运行一个rabbitmq而已。
  • 普通模式:默认模式,以两个节点(rabbit01、rabbit02)为例来进行说明。对于Queue来说,消息实体只存在于其中一个节点rabbit01(或者rabbit02),rabbit01和rabbit02两个节点仅有相同的元数据,即队列的结构。当消息进入rabbit01节点的Queue后,consumer从rabbit02节点消费时,RabbitMQ会临时在rabbit01、rabbit02间进行消息传输,把A中的消息实体取出并经过B发送给consumer。所以consumer应尽量连接每一个节点,从中取消息。即对于同一个逻辑队列,要在多个节点建立物理Queue。否则无论consumer连rabbit01或rabbit02,出口总在rabbit01,会产生瓶颈。当rabbit01节点故障后,rabbit02节点无法取到rabbit01节点中还未消费的消息实体。如果做了消息持久化,那么得等rabbit01节点恢复,然后才可被消费;如果没有持久化的话,就会产生消息丢失的现象。
  • 镜像模式:把需要的队列做成镜像队列,存在与多个节点属于RabbitMQ的HA方案该模式解决了普通模式中的问题,其实质和普通模式不同之处在于,消息实体会主动在镜像节点间同步,而不是在客户端取数据时临时拉取。该模式带来的副作用也很明显,除了降低系统性能外,如果镜像队列数量过多,加之大量的消息进入,集群内部的网络带宽将会被这种同步通讯大大消耗掉。所以在对可靠性要求较高的场合中适用。

 

参考文章:

https://www.cnblogs.com/knowledgesea/p/6535766.html

标签:简介,rabbitmq,集群,模式,rabbit01,rabbit02,节点
From: https://www.cnblogs.com/suyj/p/18285507

相关文章

  • 从安装到配置,教你用Argo CD对接CCE集群完成测试、生产部署
    本文分享自华为云社区《ArgoCD对接CCE完成不同测试、生产环境业务部署》,作者:可以交个朋友。一背景说明ArgoCD是用于Kubernetes的声明性GitOps持续交付工具,遵循GitOps模式,该模式使用Git仓库作为定义所需应用程序状态的真实来源。ArgoCD可在指定的目标环境中自动部署所需的......
  • RabbitMq shovel 将一个实例的消息转发到另一个实例的队列
    RabbitMqshovel将一个实例的消息转发到另一个实例的队列一、shovel是什么?其实,shovel和上一篇博客中的federation的功能是类似的,都是为了MQ间的消息同步。不同的是,federation需要每个MQ上都配置,它只是个拉取消息的功能,而shovel只需要在一个MQ上配置即可,它是个双向的动作,既能拉......
  • RabbitMQ高级
    在昨天的练习作业中,我们改造了余额支付功能,在支付成功后利用RabbitMQ通知交易服务,更新业务订单状态为已支付。但是大家思考一下,如果这里MQ通知失败,支付服务中支付流水显示支付成功,而交易服务中的订单状态却显示未支付,数据出现了不一致。此时前端发送请求查询支付状态时,肯定是查......
  • RabbitMQ基础
    微服务一旦拆分,必然涉及到服务之间的相互调用,目前我们服务之间调用采用的都是基于OpenFeign的调用。这种调用中,调用者发起请求后需要等待服务提供者执行业务返回结果后,才能继续执行后面的业务。也就是说调用者在调用过程中处于阻塞状态,因此我们成这种调用方式为同步调用,也可以叫同......
  • Rabbitmq的使用
    rabbitmq的使用1.使用场景及它的特点介绍2.mq的5种常用消息模型2.1队列模型—-1对12.2队列模型—1(生产者)对多(消费者)特点: 1.当有多个消费者时,无论消费者处理的性能是否相同,生产者的消费会平均分配给每一个消费者 2.每个消费者处理的消息是否存在重复?不会重复 ......
  • 达梦数据库系列—20. 读写分离集群搭建
    目录一、配置读写分离集群1、环境说明2、数据准备3、配置主库GRP1_RWW_01配置dm.ini配置dmmal.ini配置dmarch.ini配置dmwatcher.ini启动主库设置OGUID修改数据库模式4、配置备库GRP1_RWW_02配置dm.ini配置dmmal.ini配置dmarch.ini配置dmwatcher.in......
  • JWT 的核心工作原理是什么?集群中的其他 服务如何验证这个JWT 呢?
    JWT(JSONWebToken)是一种用于身份验证和信息交换的紧凑、URL安全的令牌。JWT的核心工作原理包括三个主要部分:头部(Header)、载荷(Payload)和签名(Signature)。以下是对JWT核心工作原理的详细解释以及在集群环境中如何验证JWT的说明。JWT核心工作原理头部(Header):头部通常包括......
  • 【超万卡GPU集群关键技术深度分析 2024】
    文末有福利!1.集群高能效计算技术随着大模型从千亿参数的自然语言模型向万亿参数的多模态模型升级演进,超万卡集群吸需全面提升底层计算能力。具体而言,包括增强单芯片能力、提升超节点计算能力、基于DPU(DataProcessingUnit)实现多计算能力融合以及追求极致算力能效......
  • flink提交yarn 集群模式失败
    flink版本1.14.6在通过./bin/flinkrun-application-tyarn-application模式提交到yarn时失败。报错信息:点击查看代码Causedby:java.lang.ClassCastException:cannotassigninstanceoforg.apache.kafka.clients.consumer.OffsetResetStrategytofieldorg.apache.......
  • VMware vSphere Tanzu部署_13_创建TKC集群
    1.登录tanzu集群登录语法为:kubectlvspherelogin--server=--vsphere-username--insecure-skip-tls-verify$kubectlvspherelogin--server=192.168.203.194--vsphere-usernameadministrator@vsphere.local--insecure-skip-tls-verify登录示例jianhua@napp:~$k......