当前位置:   article > 正文

Kafka、RabbitMQ、RocketMQ 之间的区别是什么_rabbitmq,rocketmq,kafka的区别

rabbitmq,rocketmq,kafka的区别

Kafka、RabbitMQ、RocketMQ 之间的区别是什么 ? - 知乎

Kafka和RabbitMQ的区别:

RabbitMQ 有这么个特性,它在官方文档就声明了自己是不保证多线程消费同一个队列的消息,一定保证顺序的。而不保证的原因,是因为多线程时,当一个线程消费消息报错的时候,RabbitMQ 会把消费失败的消息再入队,此时就可能出现乱序的情况。

用 RabbitMQ,出现了三个问题:

  1. 为了实现发布订阅功能,从而使用的消息复制,会降低性能并耗费更多资源
  2. 多个消费者无法严格保证消息顺序
  3. 大量的订单集中在一个队列,吞吐量受到了限制

那么 Kafka 怎么样呢?Kafka 正好在这三个问题上,表现的要比 RabbitMQ 要好得多。

首先,Kafka 的发布订阅并不会复制消息,因为 Kafka 的发布订阅就是消费者直接去获取被 Kafka 保存在日志文件中的消息就好。无论是多少消费者,他们只需要主动去找到消息在文件中的位置即可。

其次,Kafka 不会出现消费者出错后,把消息重新入队的现象。

最后,Kafka 可以对订单进行分区

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/729735
推荐阅读
相关标签
  

闽ICP备14008679号