文章目录
- 一、RocketMQ是什么?
- 二、RocketMQ 应用场景
- 三、RocketMQ 优缺点
- 1.优点
- 2、缺点
一、RocketMQ是什么?
RocketMQ 是一款纯 java、分布式、队列模型的消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。
二、RocketMQ 应用场景
消息队列是一种"先进先出"的数据结构,其应用场景主要包含以下三个方面:
1、应用解耦,系统的耦合性越高,容错性就越低。
2、流量削峰,应用系统如果遇到系统请求流量的瞬间猛增,有可能会将系统压垮。有了消息队列后,可以将大量请求缓存起来,分散到很长一段时间处理,这样可以大大提升系统的稳定性和用户体验。
3、数据分发,通过消息队列可以让数据在多个系统之间进行流通。数据的产生方不需要关心谁来使用数据,只需要将数据发送到消息队列,数据使用方直接在消息队列中直接获取数据即可。
三、RocketMQ 优缺点
1.优点
- 单机吞吐量:十万级
- 可用性:非常高,分布式架构
- 消息可靠性:经过参数优化配置,消息可以做到 0 丢失
- 功能支持:MQ功能较为完善,还是分布式的,扩展性好 支持 10 亿级别的消息堆积,不会因为堆积导致性能下降
- RoketMQ在稳定性上可能更值得信赖,这些业务场景在阿里双11已经经历了多次考验。
2、缺点
- 支持的客户端语言不多,目前仅支持 Java 及 C++,而且 C++ 还不成熟
- 没有在 MQ 核心中去实现 JMS等接口,有些系统要迁移需要修改大量代码