kafka和rabbitmq的区别

  • Post author:
  • Post category:其他





标题: kafka和rabbitmq的区别

日期: 2022-01-16 13:54:22

标签: [kafka, rabbitmq, 消息队列]

分类: 消息队列

说说我们在数据领域用的比较多的消息队列组件:kafka和rabbitmq。

为什么要用消息队列?

  1. 解耦
  2. 异步
  3. 削峰

作为消息处理中间件,这2个有什么特性,及优缺点是什么,使用场景是怎样的?我们下面来对比下。

对比项 kafka rabbitmq
实现语言 java/scala erlang
开发者 linkedin开源给apache
特点 消息拼接到日志文件;吞吐量大;数据准确性相对低;整体kafka消息过期时间设置 吞吐量相对小;数据准确性高;消息过滤;单条消息TTL过期时间
缺点 数据不准确:丢失或者重复;消息乱序:多个分区时,消费乱序了 吞吐量低

看看各自的应用场景:

1.通常会使用kafka作为消息传输的数据管道,rabbitmq作为交易数据的传输管道,主要考虑的因素则是是否存在丢失数据或者数据重复的可能;

2.rabbitmq在金融场景中经常使用,具有更高的严谨性,数据丢失的可能性更小,同时具备更高的实时性,而kafka主要体现在吞吐量上,虽然可以通过策略实现数据不丢失,但从严谨角度上看,不如rabbitmq,而且kafka保证每条消息最少送达一次,有较小概率出现数据重复,需要在下游段进行数据重复的校验。



Keep reading, Keep writing, Keep coding.

欢迎关注我的微信公众号,比较喜欢分享知识,也喜欢宠物,所以做了这2个公众号:

程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】

电巴克宠物

一起学习,一起进步。



版权声明:本文为chenzuoli原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。