乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
kafka和rabbitmq的区别 | chenzuoli's blog

kafka和rabbitmq的区别

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

为什么要用消息队列?

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

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

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

看看各自的应用场景:
1.通常会使用kafka作为消息传输的数据管道,rabbitmq作为交易数据的传输管道,主要考虑的因素则是是否存在丢失数据或者数据重复的可能;
2.rabbitmq在金融场景中经常使用,具有更高的严谨性,数据丢失的可能性更小,同时具备更高的实时性,而kafka主要体现在吞吐量上,虽然可以通过策略实现数据不丢失,但从严谨角度上看,不如rabbitmq,而且kafka保证每条消息最少送达一次,有较小概率出现数据重复,需要在下游段进行数据重复的校验。


Keep reading, Keep writing, Keep coding.

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

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

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------