GitHub user cserwen added a comment to the discussion: Rocketmq tag过滤机制
cq 只存储了消息 tag 的 hashcode 信息,没有具体的 tag 值,如果想要在服务端精确过滤,必须要decode msg,这样就会增加服务端的计算压力,同时也会增加 pullMessage 的时延, 因为客户端本身就要 decode 消息,因此将精确过滤放在客户端可以很好的利用资源,broker 负责快速初筛,消费者进行最终确认。这样可以避免 broker 端的计算瓶颈,同时让消费者在相对空闲时完成过滤操作。 你说的精确过滤,服务端也是支持的,不过要用 SQL 的方式去过滤,可以参考 ExpressionMessageFilter#isMatchedByCommitLog() 方法 GitHub link: https://github.com/apache/rocketmq/discussions/8219#discussioncomment-9612116 ---- This is an automatically sent email for dev@rocketmq.apache.org. To unsubscribe, please send an email to: dev-unsubscr...@rocketmq.apache.org