Kafka是消息队列还是消息代理?

问题描述 投票:0回答:1

在阅读了几篇解释 Message QueuesMessage Brokers 之间的区别的文章之后,我很困惑 Kafka 是消息队列还是消息代理。

The main difference that I know is that Message Queue offer two types of models: 

  1. 点对点消息传递
  2. 发布者-订阅者模型

消息代理仅提供发布者-订阅者模型。

就 Kafka 而言,我的理解是它提供了发布者-订阅者模型。

因此,我很困惑。有人可以帮我吗??

apache-kafka message-queue publish-subscribe messagebroker
1个回答
0
投票

Kafka可以替代消息队列(MQ),例如RabbitMQ或ActiveMQ的某些实现,但它绝对不是MQ。所以这个就不在讨论范围内了。

消息队列由两个组件组成:消息代理和客户端。消息代理负责接收消息并将其存储在队列中,客户端负责从代理发送和接收消息。

摘自Medium文章此处

因此,将 Kafka 称为消息代理也会令人困惑,并且可能不准确。

可能导致这种混乱的原因是 Kafka 集群中的主要服务器类型称为 Broker,但如上所述,它没有定义 Kafka,也不应该用作其名称的同义词。我读过的大多数资料都将 Kafka 称为分布式事件流平台。

就我个人而言,Kafka 对我来说是一个独立的类别,所以只能称为 Kafka。希望我回答了你的问题。

需要研究的一些其他来源

  1. Kafka 介绍 来自 Apache 站点
  2. Kafka 文档 来自 Apache 站点
  3. 来自 Simplilearn
  4. Kafka 和 RabbitMQ 之间的区别
© www.soinside.com 2019 - 2024. All rights reserved.