Kafka和JMS都是消息传递系统。Java消息服务是Java提供的api。它用于在您的应用程序中实现消息传递系统。JMS支持队列和发布者/订阅者(主题)消息传递系统。使用队列,当第一个使用者使用一条消息时,该消息将从队列中删除,其他人无法再使用它。有了主题,多个消费者会收到每条消息,但是很难扩展。
Kafka是这两个概念的概括-它允许在同一消费者组的成员之间进行缩放,但也可以在许多不同的消费者组之间广播相同的消息。当新的消费者加入或离开消费者组时,Kafka还提供自动重新平衡。
序号 | 键 | 阿帕奇·卡夫卡 | JMS |
---|---|---|---|
1 | 基本的 | Apache Kafka是一个分布式的发布-订阅消息传递系统,它从不同的源系统接收数据,并使数据实时可用于目标系统。 | Java消息服务是Java提供的api。它用于在您的应用程序中实现消息传递系统。 |
2 | 拉/推机构 | 它使用了拉机制,客户端每次都需要轮询消息 | 它采用基于推送的模型,消息可以广播给所有消费者 |
3 | 邮件保留政策 | 基于政策 | 基于确认 |
4。 | 自动平衡 | 当新消费者添加或从消费者组中删除时,它提供自动平衡 | 它不提供自动重新平衡 |
5 | 消息顺序 | Kafka确保按分区级别发送消息的顺序接收消息 | JMS不支持订购消息。 |