模型服务连接失败

Redis 基于 Stream 的消息队列与专业消息队列有哪些差距?

消息队列Redis
分类
分布式系统
难度
未设置
来源数
1
更新时间
2026/03/29 00:57

答案

差距主要体现在两个方面:数据丢失和数据堆积 1. 数据丢失:一个消息队列的数据丢失可能发生在三个地方:生产者、消息中间件、消费组,对于redis而言,生产者在写入消息中间件的时候,只要处理好返回值、异常和失败重发的操作,就不会发生数据丢失。对于消费者而言,redis利用内部队列来保证了消费者数据不会丢失,而对于redis的消息中间件而言,宕机、主从切换都有可能导致数据丢失,因此专业的消息队列,他们会对消息中间件进行集群部署,有多个副本,来解决数据丢失问题。 2. 对于数据堆积,为了防止OOM,redis实现的消息队列会设置最大长度,当长度满的时候,旧消息会被删除。因此面对消息挤压,内存资源会紧张,而专业的消息队列,他们直接对数据进行持久化,不用担心数据堆积问题。

相关题目(5)

分布式系统Redis
分布式系统并发Redis
分布式系统Redis
分布式系统并发Redis

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(数据库).md

knowledge_note
Question 101: Redis 基于 Stream 的消息队列与专业消息队列有哪些差距? Source answer: 差距主要体现在两个方面:数据丢失和数据堆积 1. 数据丢失:一个消息队列的数据丢失可能发生在三个地方:生产者、消息中间件、消费组,对于redis而言,生产者在写入消息中间件的时候,只要处理好返回值、异常和失败重发的操作,就不会发生数据丢失。对于消费者而言,redis利用内部队列来保证了消费者数据不会丢失,而对于redis的消息中间件而言,宕机、主从切换都有可能导致数据丢失,因此专业的消息队列,他们会对消息中间件进行集群部署,有多个副本,来解决数据丢失问题。 2. 对于数据堆积,为了防止OOM,redis实现的消息队列会设置最大长度,当长度满的时候,旧消息会被删除。因此面对消息挤压,内存资源会紧张,而专业的消息队列,他们直接对数据进行持久化,不用担心数据堆积问题。 Reviewed answer: 主要差距在数据丢失与数据堆积。Redis 在主从切换、宕机等情况下仍可能丢消息,且基于内存存储,面对堆积需限制长度,可能删除旧消息;专业 MQ 通常依赖持久化和多副本机制处理这些问题。