一篇文章了解RocketMQ基础知识。

目录

一.  为什么选择了 RocketMQ ?

二.  RocketMQ 介绍

名词说明

1. Topic (主题) 

1.1 Topic 核心作用

1.2 Topic 常见问题

2. Tag  (标签)

3. Queue  (队列)

  3.1 Queue 读写队列

4. Message (消息)

4.1 Message 类型

5.  Producer (生产者)

6.  Consumer(消费者)

7.  NameServer  (名字服务器)

 8.  Broker  (代理服务器)

8.1 Broker 几个重要的子模块 

三.  RocketMQ 工作流程

集群之间交互方式


一.  为什么选择了 RocketMQ ?

        在阿里孕育 RocketMQ 的雏形时期,我们将其用于异步通信、搜索、社交网络活动流、数据管道,贸易流程中。随着我们的贸易业务吞吐量的上升,源自我们的消息传递集群的压力也变得紧迫。

        根据我们的研究,随着队列和虚拟主题使用的增加,ActiveMQ IO模块达到了一个瓶颈。我们尽力通过节流、断路器或降级来解决这个问题,但效果并不理想。于是我们尝试了流行的消息传递解决方案Kafka。不幸的是,Kafka不能满足我们的要求,其尤其表现在低延迟和高可靠性方面,详见这里。在这种情况下,我们决定发明一个新的消息传递引擎来处理更广泛的消息用例,覆盖从传统的pub/sub场景到高容量的实时零误差的交易系统。

        Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。

二.  RocketMQ 介绍

        在正式学习使用RocketMQ之前, 要了解几个区别于标准消息中间件的概念.   如Group、Topic、Queue等。

        系统组成则由 Producer(生产者)、Consumer(消费者)、Broker(服务代理器)、NameServer(名称服务器)等组件组成。

名词说明

1. Topic (主题) 

        Topic主题是RocketMQ中消息传输和存储的顶层存储, 表示一类消息的集合. 每个topic 主题包含若干条message . 每条message 只能属于一个topic主题. 

        可以理解为消息的分类.  但主题是一个逻辑概念,并不是实际的消息容器。现在垃圾都提倡分类了. 消息可不能一个topic干到底啊. 

1.1 Topic 核心作用
  • 定义数据的分类隔离: 将不同业务类型的数据拆分到不同的主题中管理. 通过主题实现存储隔离性, 订阅隔离性. 
  • 定义数据的身份和权限 :  RocketMQ 本身是匿名无身份的.  同一类的消息使用相同主题来做身份识别和权限管理. 

1.2 Topic 常见问题
  • Topic 拆分过细,  别有的小伙伴听说是分类用的.  于是把主题拆的很细, 一个用户一个Topic 一笔交易是一个Topic.  太壮观了👍.  这样会消耗大量的主题资源, 造成系统负载过重. 
  • Topic 拆分过粗,  上面小编写了不能拆分过细, 那么是不是越粗越好呢?  甚至就不拆了. 这样也不好, 会导致业务隔离性差 ,不利于独立运维和故障处理.  遇到问题排查起来会费劲很多. 
  • Topic 线上开启自动化,RocketMQ提供了自动化创建主题的功能.  在开发阶段用的是一个字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C20611

你的鸡腿将是我创作的最大动

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值