当前位置: 首页 > news >正文

RocketMQ搭建及测试(Windows环境)

文章目录

    • 一、Windows环境下安装RocketMQ
    • 二、搭建可视化控制台
    • 三、搭建测试服务

一、Windows环境下安装RocketMQ

下载地址:https://rocketmq.apache.org/zh/download/
确保已经安装了JDK

  1. 选择Binary下载二进制ZIP包,下载完之后进行解压
  2. 新建环境变量
    变量名:ROCKETMQ_HOME
    变量值:安装目录,例如:D:\Java\rocketmq-all-5.3.2-bin-release\rocketmq-all-5.3.2-bin-release
  3. PATH环境变量新增:%ROKCETMQ_HOME%/bin
  4. 修改启动参数,默认参数比较大
    • bin/runserve.cmd
    • bin/runborker.cmd
    • bin/tools.sh
  5. 启动NameServer,启动后不要关闭cmd窗口
# cd到解压后的安装目录的bin文件夹
cd D:\rocketmq-all-5.3.3-bin-release\bin# 启动NameServer
mqnamesrv.cmd# 成功提示
The Name Server boot success. serializeType=JSON, address 0.0.0.0:9876
  1. 启动Broker,启动后不要关闭cmd窗口
# 启动Broker
mqbroker.cmd -n 127.0.0.1:9876 -c D:\Java\rocketmq-all-5.3.2-bin-release\rocketmq-all-5.3.2-bin-release\conf\broker.conf# 成功提示
The broker[broker-a, 172.16.60.33:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876
  1. 停止服务,直接关闭或者使用命令
mqshutdown.cmd broker
mqshutdown.cmd namesrv

二、搭建可视化控制台

  1. git下载项目:https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0
  2. 使用IDEA启动项目,注意JDK版本要使用1.8
  3. 如果连接提示:org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <172.16.60.33:10909> failed
    解决:修改RocketMQ安装目录下conf文件夹下的broker.conf文件,添加borkerIP1=本机IP
    brokerClusterName = DefaultCluster
    brokerName = broker-a
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    namesrvAddr=127.0.0.1:9876
    borkerIP1=192.168.226.188	
    
    重启时候,先启动namesrv,再启动消息服务器broker
  4. 直接访问,默认为8080端口
    在这里插入图片描述

三、搭建测试服务

  1. 引入依赖
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.3.1</version>
</dependency>
  1. 修改application.yml配置文件
# RocketMQ配置
rocketmq:name-server: 127.0.0.1:9876producer:name: platform-base-producergroup: platform-base-producer-groupsend-message-timeout: 3000  # 发送消息超时时间,单位毫秒retry-times-when-send-failed: 2  # 同步发送失败时重试次数retry-times-when-send-async-failed: 2  # 异步发送失败时重试次数
  1. 发送方
Component
public class SendController {@Resourceprivate RocketMQTemplate rocketMQTemplate;@Scheduled(cron = "1 15 18 * * ?")public void sendMessage(){for (int i = 0; i < 4; i++) {rocketMQTemplate.convertAndSend("test-topic", "Hello, World!" + i);}}
}
  1. 消费方
@Service
@RocketMQMessageListener(topic = "test-topic", consumerGroup = "demo-consumer-group")
class ConsumeService implements RocketMQListener<String> {@Overridepublic void onMessage(String message) {System.out.println("收到消息: " + message);}
}

在这里插入图片描述

  1. 查看生产与消费信息

在这里插入图片描述

http://www.dtcms.com/a/295356.html

相关文章:

  • 基于深度学习的图像分类:使用MobileNet实现高效分类
  • 路径总和Ⅲ(树)C++
  • 网络编程基石:TCP 原理全解析
  • AbMole小课堂 | Nivolumab(BMS-936558):PD-1人源化单抗的作用机制与抗肿瘤应用
  • 给定一个长度为n的数组,和一个长度为w的滑动窗口,w < n, 窗口沿着数组每次滑动一个位置,求出每次滑动后,滑动窗口内的最大值。 C++实现高效代码
  • 数据库底层索引讲解-排序和数据结构
  • Ethereum: 从零到一为DApp开发搭建专属的私有测试网络
  • Compose 适配 - 键鼠模式
  • Ethereum: 从 1e+21 到千枚以太币:解密 Geth 控制台的余额查询
  • Day30| 452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间
  • 风险分级响应管理分析系统
  • 基于 PIC16 系列的多功能电子烟(温控 + 电压控制 + 多模式)方案
  • 亚马逊云科技 EC2 部署 Dify,集成 Amazon Bedrock 构建生成式 AI 应用
  • 【初识数据结构】CS61B 中的归并排序和选择排序
  • python学习xlsx表格导入mysql脚本 + leetcode19删除链表倒N + python与本地mysql连接不上排错
  • 每日算法-两数之和
  • Go基础教程 从零到英雄:30分钟掌握Go语言核心精髓
  • Leetcode—1035. 不相交的线【中等】
  • 独家|百度副总裁尚国斌即将离职,此前统筹百度地图;行业搜索及智能体业务总经理谢天转岗IDG
  • MongoDB 和 Elasticsearch(ES)区别
  • 项目重新发布更新缓存问题,Nginx清除缓存更新网页
  • MAC包头、IP包头 、UDP包头中的长度含义是啥?三者之间有啥区别?
  • Node.js 版本兼容问题:minimatch@10.0.3和minio@7.0.28 冲突的解决
  • Node.js 全局对象
  • Ubuntu-安装Asyn教程
  • 造成服务器内存不足的原因有什么
  • Node.js 中的内置模板path
  • Node.js特训专栏-实战进阶:18.密码加密与安全传输
  • node.js中的fs与path模块
  • 04.建造者模式的终极手册:从快餐定制到航天飞船的组装哲学