RabbitMQ | Kafka | |
---|---|---|
架构 | RabbitMQ 的架构专为复杂的消息路由而设计。该代理使用推送模型。生产者使用不同的规则向使用者发送消息。 | Kafka 使用基于分区的设计进行实时、高吞吐量的流处理。该代理使用拉取模型。生产者向使用者订阅的主题和分区发布消息。 |
消息处理 | RabbitMQ 代理监控消息使用。此代理会在消息被使用后将其删除。它支持消息优先级。 | 使用者使用偏移跟踪器跟踪消息检索情况。Kafka 根据保留策略保留消息。其中没有消息优先级。 |
性能 | RabbitMQ 提供低延迟。它每秒发送数千条消息。 | Kafka 每秒可实时传输多达数百万条消息。 |
编程语言和协议 | RabbitMQ 支持多种语言和旧式协议。 | Kafka 的编程语言选择有限。该代理在 TCP 上使用二进制协议进行数据传输。 |
Kafka 与RabbitMQ 差异
于 2023-08-04 15:10:58 首次发布