RocketMQ安装,实践

1.下载资源

下载rocketmq运行文件和rocketmq console控制台
https://rocketmq.apache.org/dowloading/releases/
https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0
在这里插入图片描述

2.配置环境变量

配置名为ROCKETMQ_HOME的环境变量

在这里插入图片描述

3.启动NameSrv和Broker

到rocketmq程序的 bin目录下
mqnamesrv.cmd -n 127.0.0.1:9876
mqbroker.cmd -n 127.0.0.1:9876

bin/mqbroker 的一些可选参数:
-c:指定配置文件路径
-n:NameServer 的地址

在这里插入图片描述
在这里插入描述

4.启动console控制台

控制台是一个springboot工程,直接启动。需要配置端口、访问账号直接在application.yml里配置
java -jar xxx.jar

在这里插入图片描述
访问http://localhost:8081,就可以看到rocketmq的相关信息
在这里插入图片描述

5.broker.conf配置讲解

# nameServer地址,如果nameserver是多台集群的话,就用分号分割
namesrvAddr=172.1.21.29:9876;143.13.262.43:9876
# 所属集群名字(同一主从下:Master和slave名称要一致)
brokerClusterName=rocketmq-cluster
# broker名字,注意此处不同的配置文件填写的不一样  例如:在a.properties 文件中写 broker-a  在b.properties 文件中写 broker-b
brokerName=broker-a
# 0 表示 Master>0 表示 Slave
brokerId=0
# Broker 对外服务的监听端口
listenPort=10911
# 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数。由于是4个broker节点,所以设置为4
# defaultTopicQueueNums=4
# 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
# commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
# ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
# 检测可用的磁盘空间大小,当磁盘被占用超过90%,消息写入会直接报错                    
diskMaxUsedSpaceRatio=90
# Broker 的角色: ASYNC_MASTER 异步复制Master ; SYNC_MASTER 同步双写Master; SLAVE
brokerRole=SYNC_MASTER
# 刷盘方式 ASYNC_FLUSH 异步刷盘; SYNC_FLUSH 同步刷盘

6.消费者,消费组,主题Topic概念理解和使用注意

通过本人大量的实验和网上搜寻答案,TMD千篇一律都是一个鸟样。

  • 主题topic:订阅的消息类型。发布->topic->消费者。
  • 消费者:创建一个consumer,就是一个消费者,一个消费者一个队列,是最基本的消费单位。
  • 消费组:创建消费者的时候,可以设置订阅的主题,还能设置所属的消费组,如果不设置消费组,则默认创建一个和topic主题同名的消费组。消费组里面有很多消费者。
    同一条消息可能会被多个消费组消费。
    同一个消费组里面的同一类型topic,一条消息只有一个消费者能消费。

在这里插入图片描述
在这里插入图片描述

7.集群模式和广播模式

RocketMQ的消费者消费消息,有2种模式:
在这里插入图片描述

DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("consumer");
//设置集群模式,也就是负载均衡模式
consumer.setMessageModel(MessageModel.CLUSTERING);
//设置   广播模式       
consumer.setMessageModel(MessageModel.BROADCASTING);

如果不设置,RocketMQ的消费者默认用集群模式,也就是一个消息发送到topic,只能有一个消费者进行消费,源码如下:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值