在阅读了几篇解释 Message Queues 和 Message Brokers 之间的区别的文章之后,我很困惑 Kafka 是消息队列还是消息代理。
The main difference that I know is that Message Queue offer two types of models:
而消息代理仅提供发布者-订阅者模型。
就 Kafka 而言,我的理解是它提供了发布者-订阅者模型。
因此,我很困惑。有人可以帮我吗??
Kafka可以替代消息队列(MQ),例如RabbitMQ或ActiveMQ的某些实现,但它绝对不是MQ。所以这个就不在讨论范围内了。
消息队列由两个组件组成:消息代理和客户端。消息代理负责接收消息并将其存储在队列中,客户端负责从代理发送和接收消息。
摘自Medium文章此处
因此,将 Kafka 称为消息代理也会令人困惑,并且可能不准确。
可能导致这种混乱的原因是 Kafka 集群中的主要服务器类型称为 Broker,但如上所述,它没有定义 Kafka,也不应该用作其名称的同义词。我读过的大多数资料都将 Kafka 称为分布式事件流平台。
就我个人而言,Kafka 对我来说是一个独立的类别,所以只能称为 Kafka。希望我回答了你的问题。
需要研究的一些其他来源