一、 复习
基于RocketMq的介绍已有很多,本文不做过多赘述,简单复习下Mq特性以及基本概念。
Mq特性:
• 原生分布式
• 两种消息拉取
• 严格消息顺序
• 特有的分布式协调器
• 亿级消息堆积
• 组
基本概念:
producer(生产者,负责产生消息,一般是业务系统产生消息)
consumer(消费者,负责消费消息,一般是后台系统负责异步消费)
push consumer(封装消息拉取)
pull consumer(主动拉取消息,一旦拉取到消息,应用的消费进程进行初始化)
producer group(生产者分组,这一类分组通常发送一类消息)
consumer group(消费者分组,这一类分组通常消费一类消息,且消费逻辑一致)
broker(消息中转角色,负责存储转发消息,RocketMq Server)
topic(主题,定义在服务端。消费者可以按照主题进行订阅,也就是消息分类)
message(消息,一个消息必须属于一个topic)
name server(主要是协调boker的注册,接受客户端的路由并返回路由信息)
partition(topic物理分组,一个topic可以分为多个分区,每个分区是一个有序队列,分区中每条消息都会分配一个有序ID,也就是偏移量)
offset(偏移量,消费者消费到哪个地方,下次从哪个地方开始消费)
tag(同一业务不同目的的message可以用相同的topic,但是可以用不同的tag区分)
key(为了唯一标识消息的key,不一定必须设置,为了开发和运维定位问题,key可以是订单id)