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

消息中间件MQ的选型与对比,第1张

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

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

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

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

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

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

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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5179131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存