RocketMQ笔记

科普:

  • 把数据放到消息队列叫做生产者
  • 从消息队列里边取数据叫做消费者

一、为什么要用消息队列?

消息队列主要有三大用途 :解耦、异步、削峰,是消息队列最主要的三大作用。

二、为什么选择RocketMQ

选择中间件的可以从这些维度来考虑:可靠性,性能,功能,可运维行,可拓展性,社区活跃度。目前常用的几个中间件,ActiveMQ作为"老古董",市面上用的已经不多,其它几种:

  • RabbitMQ:

  • 优点:轻量,迅捷,容易部署和使用,拥有灵活的路由配置

  • 缺点:性能和吞吐量不太理想,不易进行二次开发

  • RocketMQ:

  • 优点:性能好,高吞吐量,稳定可靠,有活跃的中文社区

  • 缺点:兼容性上不是太好

  • Kafka:

  • 优点:拥有强大的性能及吞吐量,兼容性很好

  • 缺点:由于"攒一波再处理"导致延迟比较高

我们的系统是面向用户的C端系统,具有一定的并发量,对性能也有比较高的要求,所以选择了低延迟、吞吐量比较高,可用性比较好的RocketMQ。

三.RocketMQ有什么优缺点?

RocketMQ优点:

  • 单机吞吐量:十万级

  • 可用性:非常高,分布式架构

  • 消息可靠性:经过参数优化配置,消息可以做到0丢失

  • 功能支持:MQ功能较为完善,还是分布式的,扩展性好

  • 支持10亿级别的消息堆积,不会因为堆积导致性能下降

  • 源码是Java,方便结合公司自己的业务二次开发

  • 天生为金融互联网领域而生,对于可靠性要求很高的场景,尤其是电商里面的订单扣款,以及业务削峰,在大量交易涌入时,后端可能无法及时处理的情况

  • RoketMQ 在稳定性上可能更值得信赖,这些业务场景在阿里双11已经经历了多次考验,如果你的业务有上述并发场景,建议可以选择RocketMQ

RocketMQ缺点:

  • 支持的客户端语言不多,目前是Java及c++,其中c++不成熟

  • 没有在 MQ核心中去实现JMS等接口,有些系统要迁移需要修改大量代码

相关推荐
zhangrelay5 小时前
机械臂末端规划智能模型的误区演示
linux·笔记·学习·ubuntu·ros2
SHARK_pssm7 小时前
【C++——类和对象(下)】
开发语言·c++·经验分享·笔记
Ztt6666666669 小时前
壶口敞开以后,器身反而更显从容
笔记·其他·百度·微信公众平台·微信开放平台
此时不提桶,更待何时10 小时前
06-07-A-RocketMQ生态集成详解
rocketmq
知产xiao_xin11 小时前
了解商号权
经验分享·笔记·知识产权
进击的横打11 小时前
【人工智能】卡片笔记法:从原子化思考到知识网络构建
笔记
东方芷兰13 小时前
Agent 技术摘要 06 —— Harness、原生视觉、Jev、mmproj、dsh
人工智能·笔记·python·ai·langchain·ai编程
贾斯汀frank13 小时前
飞牛OS部署Memos私有笔记:Docker安装
笔记
xqqxqxxq14 小时前
LeetCode Hot100 矩阵专题题解笔记
笔记·leetcode·矩阵
xuyin120415 小时前
上海欢乐谷游玩
笔记