Kafka与RabbitMQ

  1. 消息可靠性方面。Kafka不能保证消息的完全可靠,对数据丢失不敏感;而RabbitMQ则保证绝对可靠(AMOP特性)。

  2. 消息传递方面。Kafka中生产者发出的消息被均匀分布到多个part中,broker收到消息后写入segment文件,只能当segment的消息条数达到配置数或者消息发布时间超过阈值时,segment上的消息才会被flush 到磁盘,最终被消费者收到;而Rabbit通过交换机(Exchange)实时转发消息。

  3. RabbitMQ适合处理数据量小,但得保证实时且高可靠的消息。而Kafka的具有较高的数据吞吐量。

  4. RabbitMQ的服务生产者和消费者能力需对等,否则消息堆积影响性能。而Kafka大量依赖Zookeeper,我们的除了要监控Kafka之外还得监控Zookeeper。

  5. Kafka比较轻量级,而RabbitMQ比较重。

猜你喜欢

转载自my.oschina.net/134596/blog/1634008