RocketMQ学习笔记(一) 初识

RocketMQ是一个分布式消息队列,由Producer、Consumer、Broker和NameServer四部分构成。Producer负责发送消息,Consumer负责消费消息,Broker作为消息服务器存储和转发消息,NameServer管理Broker。启动顺序为先启动NameServer,再启动Broker。RocketMQ涉及的关键概念包括Topic、Message Queue、Push/Pull Consumer、Producer Group和Consumer Group。此外,文章还介绍了RocketMQ的源码结构、启动命令以及常用管理命令,如创建和删除Topic、订阅组等。
摘要由CSDN通过智能技术生成
  1. 介绍

分布式消息队列是用来高效传输消息的。RocketMQ由四个部分组成。类比于邮政系统,邮政系统:由发件人,收件人,负责暂存和传输的邮局,和负责管理各个邮局的管理机构四个部分组成;RocketMQ相应地对应于Producer,Consumer,Broker和NameServer四部分组成。

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

Consumer:消息消费者,负责消费消息,一般由后台系统负责异步消费

Broker:MQ消息服务器(中转消息,用于消息存储与生产消费转发)

NameServer:管理Broker,接受Broker的register和unregister

1.1 角色和概念

启动RocketMQ的顺序为先启动NameServer,后启动Broker,这时消息队列就可以提供服务了,生产者发送消息,消费者接收消息。

除了引子中提到的四个部分外,RocketMQ还有一些其他的概念:

Topic:将相同类型的消息分为一类,称为Topic,发送消息时即表明发送到哪个Topic

Message Queue:Topic内部设置多个Message Queue,以提高并行处理的效率

Push Consumer:Consumer的一种,需要向Consumer对象注册监听

Pull Consumer:Consumer的一种,需要主动请求Broker拉取消息

Producer Group:生产者集合,一般用于发送一类消息

Consumer Group:消费者集合,一般用于接收一类消息进行消费

1.2 源码结构

在apache rocketmq官网:http://rocketmq.apache.org/docs/quick-start/ 下载源码包后,可以看到结构如下: 其中:

rocketmq-broker:主要的业务逻辑,消息收发,主从同步

rocketmq-client:客户端接口,比如生产者和消费者

rocketmq-example:示例

rocketmq-common:公共的数据结构等

rocketmq-distribution: 编译模块,编译输出等

rocketmq-filter:进行Broker过滤不感兴趣的消息传输,减小带宽压力

rocketmq-logappender,rocketmq-logging:日志相关

rocketmq-namesrv: 用于服务协调

rocketmq-openmessaging:对外提供服务

rocketmq-remoting:远程调用接口,封装netty底层通信

rocketmq-srvutil:提供一些公用的工具方法,比如解析命令行参数

rocketmq-store:消息的存储

参照官网的quickstart进行编译:mvn -Prelease-all -DskipTests clean install -U,编译后就可以参照官网运行mq的nameserver和broker了。这里要注意的是:由于我的电脑是Mac,在/User/我的名字/目录下,产生了logs和stores两个新的文件夹。

1.3 常用命令

参照官网的quick start来做,首先启动nameserver,在安装路径下:/Users/yubuyun/Documents/workspace/rocketmq-all-4.3.2/distribution/target/apache-rocketmq

目录下执行下面的命令:

启动nameserver

nohup shbin/mqnamesrv &
tail -f~/logs/rocketmqlogs/namesrv.log
nohup shbin/mqbroker -nlocalhost:9876 &
tail -f~/logs/rocketmqlogs/broker.log
另外本地机器学习的时候注意,不玩了记得把broker和nameserver关掉,省得一直在后台运行服务:

shbin/mqshutdown broker
shbin/mqshutdown namesrv
publicstaticvoidmain

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值