Kafka是消息队列吗?Kafka可以用作数据库吗?

Mag*_*iee 0 apache-kafka

有些地方提到Kafka是发布订阅消息传递。其他消息来源提到 Kafka 是消息队列。请问它们之间有什么区别,Kakfa可以用作数据库吗?

hqt*_*hqt 5

有两种模式,分别称为发布-订阅和消息队列。有一些地方讨论了差异。这里

Kafka 特别支持这两种模式。对于发布-订阅模式,Kafka 有支持该模式的发布者/订阅者。发布者向一个主题发送消息,订阅者可以订阅并接收该主题的消息。对于排队模式,Kafka有一个概念,叫Consumer Group。在同一个消费者组内,所有消费者将共享工作,从而平衡工作负载。

由于从一开始就具有灵活的设计,Kafka在系统设计时被广泛用于许多软件模式。就我个人而言,我不会将 Kafka 本身称为数据库,但您可以使用 Kafka 作为存储,特别是通过一些机制(例如日志压缩)参考1 参考2