RocketMQ是由阿里捐赠给Apache的一款分布式、队列模型的开源消息中间件,经历了淘宝双十一的洗礼。apache
Client端segmentfault
一类Producer的集合名称,这类Producer一般发送一类消息,且发送逻辑一致bash
一类Consumer的集合名称,这类Consumer一般消费一类消息,且消费逻辑一致服务器
Server端运维
消息中转角色,负责存储消息,转发消息,这里就是RocketMQ Server分布式
消息的主题,用于定义并在服务端配置,消费者能够按照主题进行订阅,也就是消息分类,一般一个系统一个Topicui
在生产者、消费者、服务器之间传递的消息,一个message必须属于一个Topic
消息是要传递的信息。邮件中必须包含一个主题,该主题能够解释为要发送给您的信的地址。消息还可能具备可选标签和额外的键值对。例如,您能够为消息设置业务密钥,而后在代理服务器上查找消息以在开发过程当中诊断问题。spa
一个无状态的名称服务,能够集群部署,每个broker启动的时候都会向名称服务器注册,主要是接收broker的注册,接收客户端的路由请求并返回路由信息3d
偏移量,消费者拉取消息时须要知道上一次消费到了什么位置, 这一次从哪里开始代理
分区,Topic物理上的分组,一个Topic能够分为多个分区,每一个分区是一一个有序的队列。
分区中的每条消息都会给分配一个有序的ID,也就是偏移量,保证了顺序,消费的正确性
用于对消息进行过滤,理解为message的标记,同一业务不一样目的的message能够用相同的topic可是
能够用不一样的tag来区分
消息的KEY字段是为了惟- -表示消息的,方便查问题,不是说必须设置,只是说设置为了方便开发和运维定位问题。
好比:这个KEY能够是订单ID等
export NAMESRV ADDR=localhost:9876 bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
Maven依赖
<dependency> <groupld>org.apache.rocketmq</groupld> <artifactld> rocketmq-client</artifactld> <version>4.3.0</version> </dependency>
本文由博客一文多发平台 OpenWrite 发布!