1.5.1 RocketMQ 入门

RocketMQ 是什么

RocketMQ是由阿里捐赠给Apache的一款分布式、队列模型的开源消息中间件,经历了淘宝双十一的洗礼。

RocketMQ 的发展史

在这里插入图片描述

RocketMQ 的特性

在这里插入图片描述

RocketMQ 基本概念

Producer

消息生产者,负责产生消息,一般由业务系统负责产生消息

Consumer

消息消费者,负责消费消息,一般是后台系统负责异步消费

Push Consumer

封装消息拉取,消费进程和内部

Pull Consumer

主动拉取消息,一旦拉取到消息,应用的消费进程进行初始化

Producer Group

一类Producer的集合名称,这类Producer通常发送一类消息,且发送逻辑一致

Consumer Group

一类Consumer的集合名称,这类Consumer通常消费一类消息,且消费逻辑一致

Broker

消费中转角色,负责存储消息,转发消息,这里就是RockerMQ Server

Topic

消息的主题,用于定义并在服务端配置,消费者可以按照主题进行订阅,也就是消息分类,通常一个系统一个Topic

扫描二维码关注公众号,回复: 9998552 查看本文章

Message

在生产者、消费者、服务器之间传递的消息,一个message必须属于一个Topic

Namesrv

一个无状态的名称服务,可以集群部署,每一个broker启动的时候都会向名称服务器注册,主要是接收broker的注册,接收客户端的路由请求并返回路由信息

Offset

偏移量,消费者拉取消息时需要知道上一次消费到了什么位置,这一次从哪里开始

Partition

分区,Topic物理上的分组,一个Topic可以分为多个分区,每个分区是一个有序的队列。分区中的每条消息都会分配一个有序的ID,也就是偏移量

Tag

用于对消息进行过滤,理解为message的标记,同一业务不同目的的message可以用相同的topic但是可以用不同的tag来区分

key

消息的KEY字段是为了唯一表示消息的,方便查问题,不是说必须设置,只是说设置为了方便开发和运维定位问题。比如:这个KEY可以是订单ID等。

RocketMQ 安装运行

下载 RocketMQ

wget http://mirrors.shu.edu.cn/apache/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip

安装 RocketMQ

解压:

unzip -d /usr rocketmq-all-4.3.2-bin-release.zip

mv /usr/rocketmq-all-4.3.2-bin-release /usr/rocketmq

运行 RocketMQ

启动 NameServer

nohup sh bin/mqnamesrv >~/logs/rocketmqlogs/namesrv.log 2>&1 &

启动 Broker

nohup sh bin/mqbroker -n localhost:9876 >~/logs/rocketmqlogs/broker.log 2>&1 &

停止 RocketMQ

停止 Broker

bin/mqshutdown broker

停止 NameServer

bin/mqshutdown namesrv

验证是否启动成功

发送消息

export NAMESRV_ADDR=localhost:9876

bin/tools.sh org.apache.rockermq.example.quickstart.Producer

接收消息

bin/tools.sh org.apache.rockermq.example.quickstart.Consumer

RocketMQ 使用

RocketMQ客户端

Maven依赖:

<dependency>
  <groupId>org.apache.rocketmq</groupId>
  <artifactId>rockermq-client</artifactId>
  <version>4.3.0</version>
</dependency>
发布了47 篇原创文章 · 获赞 15 · 访问量 7934

猜你喜欢

转载自blog.csdn.net/weixin_43871142/article/details/104983026