面试题答案
一键面试- Tag过滤
- 工作原理:生产者在发送消息时,为消息指定一个或多个Tag(标签)。消费者在订阅消息时,可以通过指定Tag来过滤消息。RocketMQ的Broker端在存储和转发消息时,会根据消费者订阅的Tag来判断是否将消息推送给对应的消费者。例如,生产者发送消息时设置Tag为“order”,消费者订阅时指定只接收Tag为“order”的消息,Broker就会只推送这类消息给该消费者。
- SQL92表达式过滤
- 工作原理:生产者发送消息时,可以为消息设置一些属性(类似于键值对)。消费者订阅消息时,使用符合SQL92规范的表达式来过滤消息。Broker在接收到消费者的订阅请求后,会按照该SQL表达式对消息的属性进行匹配。比如,消息有属性“price”表示价格,消费者可以使用“price > 100”这样的SQL表达式来只接收价格大于100的消息。