安装RocketMQ,他是真的快!

一、下载压缩包解压

Q群:586012641,安装包群文件下载,不是任何机构的群,纯个人资源群,想来就来,想退就退,别打广告就行~

在这里插入图片描述


1、下载安装包,解压到D盘任意位置,下图是我文件夹所在位置

在这里插入图片描述

二、配置环境变量

ROCKETMQ_HOME
D:\SoftWare\rocketmq-all-4.4.0-bin-release
在这里插入图片描述
修改Path变量,新建下面内容
%ROCKETMQ_HOME%\bin

在这里插入图片描述

三、 启动NAMESERVER

Win+R,打开cmd窗口,切换到刚刚加压的bin目录下,输入:start mqnamesrv.cmd
在这里插入图片描述

会跳出下方窗口,不要关闭它。
在这里插入图片描述

四、启动BROKER

继续输入命令:start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
在这里插入图片描述
会弹出下方弹框,安装成功
在这里插入图片描述

少数会出现的错误

如果弹出框提示‘错误: 找不到或无法加载主类 xxxxxx’。在bin下找到并打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。如下:
在这里插入图片描述
改完毕后,再次启动即可出现成功弹框。

五、安装可视化插件

下载插件压缩包后解压到D:\SoftWare\rocketmq-externals-master,进入\rocketmq-console\src\main\resources文件加,用编辑器打开application.properties文件,配置如下:
在这里插入图片描述

六、编译

进入rocketmq-externals\rocketmq-console 文件夹,执行:mvn clean package -Dmaven.test.skip=true,编译生成,编译成功如下:
在这里插入图片描述
在这里插入图片描述

七、启动

编译成功后,在rocketmq-externals\rocketmq-console下会生成target文件夹

在这里插入图片描述
进入target后执行:java -jar rocketmq-console-ng-1.0.1.jar,这里是在启动jar工程。
在这里插入图片描述
在这里插入图片描述

八、浏览器访问,进入控制台

RocketMQ各个角色介绍

  • Producer:消息的发送者;举例:发信者

  • Consumer:消息接收者;举例:收信者

  • Broker:暂存和传输消息;举例:邮局

  • NameServer:管理Broker;举例:各个邮局的管理机构

  • Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息

  • Message Queue:相当于是Topic的分区;用于并行发送和接收消息

启动完毕后,在浏览器输入:http://localhost:8088/ 进入控制台
在这里插入图片描述

九、SpringBoot与RocketMq简单整合

1、rocketmq-spring-boot-starter 方式集成

使用Spring提供的Template方式要比直接使用client方式要简单很多,不需要再创建生产者和消费者,也不用再显式设置NameServer地址了(只需在配置文件中配置一下),也不用再显式的关闭生产者了。

1.1 pom.xml
<!--        RocketMQ相关依赖-->
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
1.2 application.yml
rocketmq:
  name-server: localhost:9876 # 访问地址
  producer:
    group: Pro_Group # 必须指定group
    send-message-timeout: 3000 # 消息发送超时时长,默认3s
    retry-times-when-send-failed: 3 # 同步发送消息失败重试次数,默认2
    retry-times-when-send-async-failed: 3 # 异步发送消息失败重试次数,默认2

1.3 发送消息

convertAndSend(String destination, Object payload) 发送字符串比较方便。

package com.nanyi.controller;

import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Description:消息生产者
 * @Author nanyi
 * @Date 2021/7/14 13:24
 **/
@RestController
public class RocketMQController {
    @Autowired
    private RocketMQTemplate rocketMQTemplate;

    @RequestMapping("/send")
    public void send() throws Exception {
        rocketMQTemplate.convertAndSend("test-topic", "test message");
    }
}

浏览器发送请求:http://localhost:8080/send
然后可在控制台查看到发送的消息
在这里插入图片描述

1.4 消费消息

消费消息使用@RocketMQMessageListener注解,只需要配置消费者组名和主题即可,需要实现RocketMQListener接口。

@RocketMQMessageListener

  • consumerGroup:消费者组名(必须)
  • topic:主题名(必须)
  • consumeMode: 消费模式(是否顺序消费)
    • ConsumeMode.CONCURRENTLY(默认方式,非顺序消费)
    • ConsumeMode.ORDERLY(顺序消费)
  • messageModel:消息模式
    • MessageModel.CLUSTERING(默认方式,集群模式:同一个消息只能被一个消费者消费) ,
    • MessageModel.BROADCASTING(广播模式:所有订阅的消费者都能够获取到消息)
package com.nanyi.service.impl;

import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;

/**
 * @Description:消费者
 * @Author nanyi
 * @Date 2021/7/14 13:43
 **/
@Component
@RocketMQMessageListener(consumerGroup = "Pro_Group", topic = "test-topic")
public class TestConsumerListener implements RocketMQListener<MessageExt> {
    @Override
    public void onMessage(MessageExt messageExt) {
        System.out.println("消费消息" + messageExt);
    }
}

重新启动项目控制台会打印出消费语句
在这里插入图片描述
在控制台上可以查看消费情况
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值