导读
白话系列文章讲述RocketMQ。因为是白话,尽量通过比较直白的方式来介绍RocketMQ,所以涉及到详细的技术细节可能表述的不是那么严谨。但是不用担心,后续会有专门的文章详细介绍技术细节。
这篇文章介绍的是RocketMQ基本概念,分为介绍和提问两部分,如果对概念很清楚了就不用了,闲暇无事可以看看提问。
类似介绍概念的文章网上比较多,希望这篇文章提问式的阅读会让大家对概念能有更清晰的认识。
MQ
Message Queue消息队列,既然是队列,就要实现数据结构中队列的基本特征,比如先进先出,入队、出队操作等。
RocketMQ就是把内存中使用的那个队列,变成一个独立的、大家都可以用的队列系统。
Topic
一个业务事件,是整个MQ领域最核心的概念,无论是生产还是消费都是针对Topic进行操作。
如果MQ是个大的队列,只有一个队列可以用太浪费了吧,来分一分分一分,分解成很多个小的独立的队列。RocketMQ变成一个管理队列的系统,而分解下来的若干个小的队列通过什么来区分呢?
就是通过topic。
比如我的业务定义topic:tp_im_event。你的业务定义topic:tp_cargo_event,那就是两个小队列了,我的业务用我的队列,你的项目用你的队列。Topic就是队列的名字。
提问:
如果不小心定义了相同的Topic名字,上线后会发生什么?
申请Topic好麻烦