今天发现消息生产者发出了消息,但是消费者没有消费,开始以为开了多个客户端被别人消费掉了,后来上控制台一看,消费者就一个,又去查看消息消费状态发现是CONSUMED_BUT_FILTERED,检查了下消费者配置,才发现消费者的topic 与生产者相同,但是tag配置的与生产者不一致导致此消息沒有消費者消费,最终消息状态就是CONSUMED_BUT_FILTERED。
1. NOT_ONLINE 订阅端不在线
2. CONSUMED 消息已经被投递
订阅端返回ReconsumerLater,或者返回NULL,或者抛出异常,消息都会走重试流程,消息投递状态都是CONSUMED。
3. CONSUMED_BUT_FILTERED 消息已经被投递且被过滤
比如,发布端发布消息topicA,tagA,订阅端订阅topicA,tagB, tagA的消息就被集群消费的消费者忽略掉了;
4. NOT_CONSUME_YET 消息未被投递
有可能消息发生了堆积,还未被消费;也有可能消费线程hang住了,导致消费线程迟迟没有返回。