知识卡片

RabbitMQ与Kafka的存储层级差异

专业/工作 · 590

内容

RabbitMQ的消息只能存储在队列这个物理实体中,生产者与消费者之间必须经过一个真实存在、可持久化的队列对象;这与Kafka把消息存储在topic这个逻辑层面不同——Kafka的队列(分区)只是topic实际存储文件里的位移标识,不是独立的存储实体。发散:这个差异决定了两者的扩展路径——RabbitMQ天然适合按队列做精细的路由与消费控制,而Kafka把存储和路由解耦到topic层,更适合按分区做水平扩展和顺序消费。

参考来源

《RabbitMQ实战指南》第2章《RabbitMQ入门》