Apache Kafka和JMS之间的区别。

Kafka和JMS都是消息传递系统。Java消息服务是Java提供的api。它用于在您的应用程序中实现消息传递系统。JMS支持队列和发布者/订阅者(主题)消息传递系统。使用队列,当第一个使用者使用一条消息时,该消息将从队列中删除,其他人无法再使用它。有了主题,多个消费者会收到每条消息,但是很难扩展。

Kafka是这两个概念的概括-它允许在同一消费者组的成员之间进行缩放,但也可以在许多不同的消费者组之间广播相同的消息。当新的消费者加入或离开消费者组时,Kafka还提供自动重新平衡。

序号阿帕奇·卡夫卡JMS
1
基本的
Apache Kafka是一个分布式的发布-订阅消息传递系统,它从不同的源系统接收数据,并使数据实时可用于目标系统。
Java消息服务是Java提供的api。它用于在您的应用程序中实现消息传递系统。
2
拉/推机构
它使用了拉机制,客户端每次都需要轮询消息  
它采用基于推送的模型,消息可以广播给所有消费者
3
邮件保留政策
基于政策
基于确认
4。
自动平衡
当新消费者添加或从消费者组中删除时,它提供自动平衡
它不提供自动重新平衡
5
消息顺序
Kafka确保按分区级别发送消息的顺序接收消息
JMS不支持订购消息。