Apache Kafka 和 JMS 的区别。


Kafka 和 JMS 都是消息系统。Java 消息服务 (JMS) 是 Java 提供的一个 API,用于在应用程序中实现消息系统。JMS 支持队列和发布/订阅 (主题) 消息系统。对于队列,当第一个消费者消费消息后,消息会从队列中删除,其他消费者无法再获取它。对于主题,多个消费者可以接收每条消息,但其可扩展性要困难得多。

Kafka 是对这两个概念的推广——它允许在同一个消费者组的成员之间进行扩展,但也允许在许多不同的消费者组之间广播相同的消息。Kafka 还提供在新的消费者加入或离开消费者组时的自动再平衡。

序号关键点Apache KafkaJMS
1
基础
Apache Kafka 是一个分布式发布-订阅消息系统,它接收来自不同来源系统的数据,并实时地将数据提供给目标系统。
Java 消息服务 (JMS) 是 Java 提供的一个 API,用于在应用程序中实现消息系统。
2
拉取/推送机制
它使用拉取机制,客户端需要每次轮询消息
它使用基于推送的模型,消息可以广播到所有消费者
3
消息保留策略
基于策略
基于确认
4.
自动再平衡
当新的消费者添加到消费者组或从消费者组中移除时,它提供自动再平衡
它不提供自动再平衡
5
消息顺序
Kafka 确保消息按分区级别发送的顺序接收
JMS 不支持消息排序。

更新于:2020年9月9日

764 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告