在讨论Kafka和RabbitMQ之间的区别时,“傻瓜经纪人”和“智能经纪人”在与消费者的互动中不断涌现。卡夫卡被描述为有一个愚蠢的经纪人,而RabbitMQ被称为具有智能经纪人/愚蠢的消费者模型。
这到底是什么意思?我熟悉Kafka的基础知识,还了解了RabbitMQ的更多知识。但是,RabbitMQ的哪些功能使经纪人比Kafka的经纪人更聪明?
最佳答案
这也是一个困扰我一段时间的问题:)这是我到目前为止所了解的...
在RabbitMQ的情况下,代理确保消息只有在收到所有需要该消息的使用方的确认后才传递给使用方,并使其出队。它还跟踪消费者状态。
Kafka不会跟踪“消费者阅读了哪些消息”。 Kafka代理将所有消息都保留在队列中固定的时间,这是消费者从队列中读取消息的责任。它也没有跟踪消费者状态的这种开销操作。
您可以在Pivotal blog上比较RabbitMQ和Kafka的精彩文章中了解有关它的更多信息。