RocketMQ的Consumer如何进行消息过滤 ?
RocketMQ的Consumer在进行消息过滤时,主要是通过在订阅消息时指定过滤方式,例如Tag过滤。Consumer端在订阅消息时可以指定TAG,如果一个消息有多个TAG,可以用||分隔。在服务端,Broker会根据这些TAG过滤消息。但是,这种过滤方式只是根据TAG的哈希值进行判断,无法精确对tag原始字符串进行过滤。因此,Consumer在拉取到消息后,还需要对消息的原始tag字符串进行比对,如果不同,则丢弃该消息,不进行消息消费。
另外,RocketMQ还支持SQL表达式筛选消息,这种方式可以更灵活地进行消息过滤。