RocketMQ 学习笔记
MQ 概述MQ 简介MQ (Message Queue)是消息队列的意思,通常指提供消息队列服务的中间件。简单说就是接收消息、储存消息、转发消息的东西。
MQ 用途MQ 的应用场景有许多,大抵上分为 3 类
流量削峰填谷将系统超载的请求暂存到 MQ 中,然后在系统负荷内慢慢消费。一方面防止系统被超量请求压垮,以方便提高资源利用率。
业务异步解耦一般是 A 服务做完某些事情然后发出通知,其他服务可以订阅这些消息处理自己的逻辑。一方面A 不关心订阅者的处理逻辑,也不用同步等待其他服务处理完成,另一方面新增减少订阅者都不需要改动 A 服务的代码。
海量数据收集一般用在大数据行业,例如物联网行业内,传感器每时每刻都在产生数据,一个是数据量大,一个是写入频率高。传统的数据库不适合直接处理这样的数据。而MQ则非常适合做这种数据储存的临时介质,这方面主要 Kafka 的天下。
RocketMQ为什么选择 RocketMQ?MQ 功能基本都大同小异,市面上可选择的也不是很多,我选择 RocketMQ主要是考虑以下几点:
吞吐量高,天然支持集群部署
开发语言是Java,中文文档,便于学习
阿里巴巴出品 ...