RocketMQ—引言

RocketMQ---引言

MQ介绍

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

MQ 是Message 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整体设计图如下:

相关推荐
此时不提桶,更待何时2 天前
06-07-A-RocketMQ生态集成详解
rocketmq
妄汐霜3 天前
SSE,RocketMQ,MQTT不同之处
笔记·学习·rocketmq
j7~3 天前
【C++标准项目】C++基于protobuf的发布订阅式消息队列(篇一):项目概述+环境搭建
分布式·消息队列·rabbitmq·gtest·protobuf·muduo·sqlites
IT机器猫3 天前
RocketMQ基础一
rocketmq
蚂蚁背大象4 天前
RocketMQ-Rust 1.0.0 发布:用 Rust 做消息队列,这次有哪些变化?
rust·开源·rocketmq
此时不提桶,更待何时4 天前
06-08-B-RocketMQ面试与生产事故实战
面试·rocketmq
醉颜凉5 天前
Kafka 与 RabbitMQ/RocketMQ 选型对比:场景匹配、性能基准与迁移成本
kafka·消息队列·rabbitmq·rocketmq·中间件选型
此时不提桶,更待何时5 天前
06-04-A-RocketMQ存储深水区与源码解析详解
rocketmq
此时不提桶,更待何时6 天前
06-02-A-RocketMQ消息特性与消费机制详解
rocketmq
ShineWinsu6 天前
对于Redis:Redis的认识以及分布式系统的解析
linux·数据库·c++·redis·缓存·消息队列·分布式架构