网易云课堂学习-rocketmq入门

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

RocketMQ的发展史
在这里插入图片描述
RocketMQ的特性

  • 原生分布式
  • 两种消息拉取
  • 严格消息顺序
  • 特有的分布式协调器
  • 亿级消息堆积
  • 组(group)

RocketMQ 基本概念
producer:
消息生产者,负责生产消息,一般有业务系统负责生产消息。
consumer:
消息消费者,负责消费消息,一般是后台系统负责异步消费。
push consumer:
封装消息拉取,消费进程和内部
pull consumer:
主动拉取消息,一旦拉取到消息,应用的消费进程进行初始化。

producer group:
一类producer的集合名称,这类producer通常发送这一类消息,且发送逻辑一致。

consumer group:
一类consumer的集合名称,这类consumer通常消费这一类消息,且消费逻辑一致。

Broker:
消息中转角色,负责存储消息、发送消息,这里就是RocketMQ Server。

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

Message:
在生产者、消费者、服务器之间传递的消息,一个message必属于一个topic。

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

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

partition:
分区,topic物理上的分组,一个topic可以分为多个分区,每个分区就是一个有序的队列。分区中的 每条消息都会分配给一个有序的id,即偏移量。

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

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

环境准备
centos7 jdk1.8

下载 RocketMQ
在这里插入图片描述
使用前面复制的地址下载:
wget http://mirros.shu.edn.cn/apache/rocketmq/4.3.2/rocket-all-4.3.2-bin-release.zip

解压:

unzip -d /usr/rocketmq-all-4.3.2-bin-release.zip
mv /usr/rocketmq-all-4.3.2-bin-release /usr/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>&! &

停止 broker
bin/mqshutdown broker

停止 nameServer
bin/mqshutdown namesrv

验证是否启动成功
发送消息:
export NAMESRV_ADDR=localhost:9876
bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

接收消息:
bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

RocketMQ客户端
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值