没确认消息,组内其他消费者还能拿到后面的消息吗
时间: 2024-04-03 13:35:48 浏览: 35
是的,如果前一条消息已经被消费组中的某一个消费者消费了,但是这个消费者没有ACK确认该消息,那么这个消息就会被认为是未被消费。此时,后续的消息仍然会被Redis Stream投递给消费组中的其他消费者进行消费。只有在所有消费者都没有对该消息进行ACK确认时,这个消息才会被重新投递给消费组中的所有消费者进行重新消费。因此,即使组内某一个消费者没有确认消息,其他消费者仍然可以继续消费后面的消息。
相关问题
redis stream 队列 同一个消费者消费后没有ack,会消费后面的消息吗
Redis Stream 是一个支持多个消费者的持久化消息队列,它可以在多个消费者之间分配消息以实现消息的并行处理。对于同一个消费者,如果它消费了一个消息但没有发送 ACK 消息确认,那么该消息将被视为“未确认”,并且 Redis 会尝试重新分配该消息给其他可用的消费者。
具体来说,当一个消费者消费了消息但没有发送 ACK 消息确认时,Redis Stream 会将该消息标记为“未确认”状态,并将其添加到一个专门的 Pending List 中。如果在一段时间后(默认为 5000 毫秒)该消息仍然处于“未确认”状态,Redis 会将其重新分配给其他可用的消费者。
如果没有其他可用的消费者,则该消息将一直保留在 Pending List 中,直到某个消费者确认消息或者消息超时(默认为 30000 毫秒)后被自动确认。在这种情况下,未确认的消息不会被消费,因此不会影响后续消息的处理。
总之,对于同一个消费者而言,它没有确认某个消息不会影响后续消息的处理。Redis Stream 会将未确认的消息重新分配给其他可用的消费者,确保所有消息都被及时处理。
Redis stream消费组有多个消费者,RedsStream前一条消息已消费,没有ack,后面消息会继续投递吗
Redis Stream的消费组是支持多个消费者并发消费的。当前一条消息被一个消费者消费后,如果这个消费者没有ACK确认该消息,那么这个消息就会被认为是未被消费,Redis Stream会将该消息重新投递给消费组中的其他消费者进行消费。这个过程会持续到有一个消费者ACK确认了该消息或者消息过期被自动删除。因此,后面的消息会继续投递给消费组中的消费者进行消费,直到被ACK确认或者过期被删除。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)