RocketMQ—引言

RocketMQ---引言

MQ介绍

在学习RocketMQ之前,我们先来看以下MQ的意思。

MQMessage Queue的首字母缩写。

  • Message:意思为消息,在我们生活中可以是一句话/一个短信/一个邮件;在计算机领域,放到实际业务中,就是一条数据。
  • Queue:意思为队列。是一种先进先出的数据结构。

我们要学习MQ,重点是要学习Queue。

消息队列的结构如下图所示:

这里队列可以存储消息,存储消息又能干什么呢?

  • 如果A给B发送一个消息,有了消息队列的存在,A就可以把消息发到消息队列里,B在消息队列里取就可以,A可以去做其他事了,这样就可以起到异步的作用。
  • 如果有大量的请求来到我们的系统,我们的系统处理不过来,我们可以把这些请求放到消息队列里,就可以起到削峰限流的作用。
  • 如果B依赖A,我们可以把依赖的内容放到队列里,这样就可以起到解耦合的作用。

RocketMQ介绍

RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。

具有以下特点:

  1. 能够保证严格的消息顺序;
  2. 提供丰富的消息拉取模式;
  3. 高效的订阅者水平扩展能力;
  4. 实时的消息订阅机制;
  5. 亿级消息堆积能力。

其官网为: http://rocketmq.apache.org/

RocketMQ重要概念

Producer:消息的发送者,生产者;举例:发件人

Consumer:消息接收者,消费者;举例:收件人

Broker:暂存和传输消息的通道;举例:快递

NameServer:管理Broker;举例:各个快递公司的管理机构 相当于broker的注册中心,保留了broker的信息

Queue:队列,消息存放的位置,一个Broker中可以有多个队列

Topic:主题,消息的分类

ProducerGroup:生产者组 。

Broker内部简易示意图如下:

topic是一个逻辑上的概念,每个topic中有多个queue。

RocketMQ整体设计图如下:

相关推荐
小马爱打代码8 小时前
消息队列:MQ消息幂等 - 从重复根源到防重实战
消息队列
武子康19 小时前
Java-195 RabbitMQ BlockingQueue 手搓“消息中间件”雏形:生产者-消费者模型到企业级 MQ 差在哪
java·分布式·架构·消息队列·rabbitmq·java-rabbitmq·mq
武子康21 小时前
Java-196 消息队列选型:RabbitMQ vs RocketMQ vs Kafka
java·分布式·kafka·rabbitmq·rocketmq·java-rocketmq·java-rabbitmq
想用offer打牌1 天前
RocketMQ如何防止消息丢失?
java·后端·架构·开源·rocketmq
想用offer打牌2 天前
RocketMQ如何防止消息丢失?😯
后端·面试·rocketmq
GEM的左耳返3 天前
互联网大厂Java求职面试题解析与实战指导:涵盖核心技术栈与业务场景
java·数据库·spring boot·安全·微服务·消息队列·面试题
武子康3 天前
Java-194 RabbitMQ 分布式通信怎么选:SOA/Dubbo、微服务 OpenFeign、同步重试与 MQ 异步可靠性落地
大数据·分布式·微服务·消息队列·rabbitmq·dubbo·异步
brevity_souls3 天前
centos安装RocketMQ保姆教程
rocketmq
better_liang5 天前
每日Java面试场景题知识点之-RabbitMQ
java·消息队列·rabbitmq·面试题·异步通信·企业级开发·系统解耦