MQ顺序消息为什么会存在性能问题

32 阅读1分钟

Mq顺序消息为什么会存在性能问题

1、顺序消息是什么

顺序消息通常分为全局顺序和局部顺序,顺序消费和普通消费最大区别,顺序消费队列需要满足头元素被消费成功后,下一元素才会被消费等特性,而普通消息消费失败后,会进入重试队列进行重试,不影响该Queue后面的数据消费。
全局顺序:一个Topic下只设置一个Queue,借助Queue先进先出原理实现全局有序。
局部顺序:一个Topic下有多个Queue,保障顺序依赖生产者投递消息时根据业务规则将同一类型消息投递至同一Queue下。

2、哪些地方会存在性能问题

broke层面:在全局顺序上面,只有一个Queue,这个Queue会存在于broker节点上,当生产者生产和消费者消费消息进行通信时,在并发数据量达到一定规模量级,broker会产生性能瓶颈,体现在网络连接、CPU、内存和磁盘上。 Queue和消费者层面:一个Queue只会被同一消费者组的一个节点消费,换言之,并发性能瓶颈存在消费者单点机器上,MQ的分区并行消费将无法体现且如果消费者速度跟不上,会引发消息堆积,带来额外问题,如消息延迟等等