消息中间件MQ的选型与对比

一、常用的MQ:
1.1 目前常用的MQ有:RocketMq、Kafka、RabbitMq、最新新出的一款pulsar;一款MQ至少需要满足低延迟,高吞吐量,数据堆积能力三个特性

二、常用的MQ的对比:
一般从功能性能其他三个维度

常用mq对比图

  • RabbitMq:Erlang语言开发,支持优先级队列,缺点是消息堆积能力弱,性能最弱,单机吞吐量为万级,而rocketmq为十万级别,kafka为百万级别。
  • rocketMq:JAVA语言开发,支持消息查询
  • kfaka:java与scala语言,高吞吐连,多用于大数据场景,数据高吞吐连可能造成数据丢失

总结
如果是业务场景可用rocketMQ与rabbitMQ,如果是大数据场景用kafka;至于rocketMQ与rabbitMQ中如何选择,根据技术栈来决定,如果是Erlang语言则尽量选用rabbitmq,如果是java语言,则选用rocketMQ。

如果消息的敏感性要求不高,允许少数据丢失,可以选择kafka;如果消息的敏感性要求高则不选用kafka;如果消息敏感度要求极高,则选择rocketMq,因为rocketMq具有消息查询的功能。

三、 mq为什么这么快:
内存映射(先写入内存,提高效率),高效的存储设计(文件定长,可使用下标快速定位),同步刷盘(但内部是异步批处理刷盘),内存级别的读写分离与锁机制

四、消息不丢失
同步刷盘,同步复制

注:本文主要对比三种消息中间件,如果想了解MQ更多内容请访问下面两篇文章:
RabbitMQ简述与其docker安装:传送门
实战:springboot整合rabbitMQ:传送门

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值