美文网首页
mq消息消费瓶颈分析

mq消息消费瓶颈分析

作者: 王大千_xMol_西摩尔 | 来源:发表于2023-07-06 11:31 被阅读0次

PS:JMQ是公司内部的消息中间件,不同MQ之间存在数据上的差异,但理论可借鉴;

JMQ主题创建时,默认队列数为5. 即该主题在每个broker上会创建5个队列。
每个队列内的消息先进先出, 在没有打开并行消费的情况下,当队列中有消息被拉取且没有被ACK时,该队列会被加锁,其它客户端进程无法拉取到该队列上剩余消息。
所以当 客户端进程数> 主题拥有的broker数*主题队列数 时,客户端并发量受限。 这时增加消费者实例数会造成部分实例空闲,将不再能增加消息处理能力,增大队列数可以让客户端的线程得到充分利用。
需要注意的是:如果客户端代码中没有显示的配置最大线程数, 则默认情况下,最大线程数会被设置为队列数。 在这种情况下,调大队列数会导致客户端线程数增加, 使客户端CPU负载和内存使用率增高,存在导致客户端宕机的风险。

以jbp_mq为例:
topic:jbp_to_bu_topic
CPU/内存使用情况如下:

机器性能.png

线程连接数: 消费者112个
broker数:4个
队列数:10个

image.png

相关文章

  • 4、RocketMQ基础-消息发送样例

    消息发送样例 导入MQ客户端依赖 2、* 消息发送者步骤分析 消息消费者步骤分析 基本样例 消息发送 发送同步消息...

  • rabbitmq保证消息可靠 消息不丢失

    三端可靠 发送方和mq保证消息送达到mq mq保证保存的消息不丢失 消费方和mq一起保证消息被成功消费 发送方和m...

  • rabbitmq保证消息可靠 消息不丢失

    三端可靠 发送方和mq保证消息送达到mq mq保证保存的消息不丢失 消费方和mq一起保证消息被成功消费 发送方和m...

  • 消息队列

    MQ的作用 消息通信MQ的基础功能即为消息通信。使用MQ的客户端可以将消息发送到MQ中,也可以从MQ中消费消息。 ...

  • # MQ在高并发环境下,如果队列满了,如何防止消息丢失?

    1、为什么MQ能解决高并发环境下的消息堆积问题? MQ消息如果堆积,消费者不会立马消费所有的消息,不具有实时性,所...

  • MQ消息可靠性保证----以RabbitMQ为例

    MQ的整个过程中有三处可能产生消息的丢失 生产者到MQ的链路 MQ自身宕机 MQ到消费端的链路 生产者到MQ的消息...

  • RabbitMQ概述

    MQ引言 什么是MQ MQ(Message Quene) : 翻译为 消息队列,通过典型的 生产者和消费者模型,...

  • MQ消费端的幂等

    MQ消费端在接收到MQ消息之后按照业务key(uuid)进行防重,达到消费的幂等性。 业务场景 用户在使用白条优惠...

  • 高并发的核心技术 - 消息中间件(MQ)

    MQ简介 什么是MQ跨进程的消息队列,主要角色包括生产者与消费者。生产者只负责生产信息,无法感知消费者是谁,消息怎...

  • MQ消息丢失问题

    一、MQ数据交互 MQ怎么保证消息不丢失?首先先确认哪些场景会丢消息:一条消息从生产到消费主要经历下面几个主要阶段...

网友评论

      本文标题:mq消息消费瓶颈分析

      本文链接:https://www.haomeiwen.com/subject/uiwpjltx.html