RocketMQ:Windows下开发环境搭建

news2025/2/25 9:58:44

一、准备工作

从RockitMQ官网下载 | RocketMQ下载最新的release包。我这里下载的版本是v5.2.0

解压到本地目录,bin目录下存放可运行的脚本。

二、RocketMQ基本结构

在动手开发之前,我们需要了解一下RocketMQ的基本结构

如上图所示,一个正常工作的RocketMQ包括四个部分。

  1. NameServer :基于高可用设计产生的,用于服务发现和路由。正式应用时通常采用集群部署。
  2. Broker:实现队列机制,负责消息存储和转发。正式应用时也采用集群部署。
  3. Producer:消息生产者,生成消息并发送到RocketMQ中,生产者通常是我们自己实现的应用程序。
  4. Consumer:消息消费者,从RocketMQ中接收消息并进行业务处理。这部分也通常是我们自己实现的。

这里并不打算深入讲解RocketMQ的架构和特性,因为我觉得,针对于初学者,太早地深入知识细节,会让人感到迷惘,学习起来吃力。为了避免浪费时间,以上的知识己经能满足本文后面要实践的内容。随着实践我们会慢慢加深对RocketMQ的理解,再回过头来一点点深入了解。

以上的知识都来源于RocketMQ官网的参考文档,需要更多细节的同学, 可以打开
https://rocketmq.apache.org/docs/quickStart/01quickstart/ 自行阅读。

三、Windows环境下启动最小应用

从上面的图可以了解到,RocketMQ自身分为 NameServer 和 Broker 两个部分,因此,用作本机开发调试用的最小应用,应该分别启动一个NameServer和一个Broker节点。

RocketMQ默认提供了 windows环境 和 linux环境 下的启动脚本。脚本位于bin目录下,windows的脚本以.cmd为文件名后缀,linux环境的脚本以.sh为文件名后缀。

第一步、配置JAVA_HOME 和 ROCKETMQ_HOME 环境变量

JAVA_HOME 的配置已经是老生常谈,这里不再赘述,不懂的话请自行百度。

ROCKETMQ_HOME 应指向解压后的Readme.md文件所在目录。

第二步,启动 NameServer

bin目录下直接双击mqnamesrv.cmd脚本启动NameServer

看到 The Name Server boot success 字样,表示NameServer己启动成功。

windows环境下,可以在目录%USERPROFILE%\logs\rocketmqlogs下找到NameServer的启动日志。文件名为namesrv.log

第三步,启动 Broker

Broker的启动脚本是mqbroker.cmd,脚本启动之前要指定 NameServer的地址

启动方式一:修改mqbroker.cmd脚本,增加NameServer的地址。
rem 添加此行,指定NameServer的地址
set "NAMESRV_ADDR=localhost:9876"
 
rem 在此行之前添加NameServer的地址
call "%ROCKETMQ_HOME%\bin\runbroker.cmd" org.apache.rocketmq.broker.BrokerStartup %*

双击mqbroker.cmd脚本启动Broker。

启动方式二:不修改mqbroker.cmd脚本,直接使用cmd命令启动

先进入rocketmq安装目录的bin目录下面,然后执行下面命令启动broker

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

看到 The broker ... boot success 字样,表示Broker己启动成功,

与NameServer类似,可以在目录%USERPROFILE%\logs\rocketmqlogs下找到Broker的启动日志。文件名为broker.log。 

四、使用RocketMQ仪表盘

RocketMQ Dashboard是一个Web界面应用程序,用于管理和监控Apache RocketMQ消息中间件的运行状态。RocketMQ Dashboard提供了一系列的监控指标和管理功能,包括Broker配置、集群概览、主题状态、消费者状态、生产者状态和消息跟踪等。

https://github.com/apache/rocketmq-dashboard直接下载源码到本地部署

用idea打开,修改配置文件application.yml

rocketmq:
  config:
    namesrvAddrs:
      - 192.168.10.100:9876
      - 192.168.10.101:9876

namesrvAddrs地址就是服务的地址,192.168.10.100是我虚拟主机的ip,如果是window环境下,改成localhost或者127.0.0.1

然后启动程序,访问http://localhost:8080/#/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1602133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ROS2笔记七】ROS中的参数通信

7.ROS中的参数通信 文章目录 7.ROS中的参数通信7.1使用CLI工具调整参数7.2参数通信之rclcpp实现7.2.1创建节点7.2.2rclcpp参数API Reference ROS2中的参数是由键值对组成的,参数可以实现动态调整。 7.1使用CLI工具调整参数 启动turtlesim功能包的环境 ros2 run …

进程、线程和协程

进程、线程和协程 进程是程序的执行实例 线程是进程的执行路径 协程是基于线程之上但又比线程更加轻量级的存在 进程与线程的区别 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位 进程和程序的区别 程序:执行特定任务的一串代码&a…

Fastjson报autotype is not support

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 打开AutoType功能 …

快速删除node_modules依赖包的命令rimraf

1、安装rimraf npm install -g rimraf 2、使用命令删除node_modules rimraf node_modules *** window系统,使用命令很快就删除node_modules ***

python-获取config.ini中的属性值

获取配置文件中的数据 import configparser class ReadConfig(object):def __init__(self,config_file_path):self.config configparser.ConfigParser()self.config.read(config_file_path,encodingutf-8)def get_config(self,section,option):config_valueself.config.get(s…

Linux系统——Zookeeper集群

目录 一、Zookeeper概述 1.Zookeeper简介 2.Zookeeper工作机制 3.Zookeeper数据结构 4.Zookeeper应用场景 4.1统一命名服务 4.2统一配置管理 4.3统一集群管理 4.4服务器动态上下线 4.5软负载均衡 5.Zookeeper选举机制 5.1第一次启动选举机制 5.2非第一次启动选举机…

前端开发框架BootStrap

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl BootStrap概述 Bootstrap是一个开源的前端框架,它由Twitter的设计师和开发者创建并维护。Bootstrap提供了许多现成的Web组件,可帮助开发者快速设计和…

关于java分页功能以及传参规范

java分页以及传参规范&#xff0c;特此工作记录 不用插件 //当前页码private static final Integer currentPage 2;//设置每页个数private static final Integer pageSize 5;Testpublic void test8() {//手写一个分页测试&#xff0c;不用插件List<Integer> list new…

vscode中运行js

vscode中运行js 目前vscode插件运行js都是基于node环境&#xff0c;vscode控制台打印有些数据不方便等缺点。 每次调试在浏览器中运行js&#xff0c;需要创建html模板、插入js。期望能够直接运行js可以打开浏览器运行js&#xff0c;在vscode插件市场找到一款插件可以做到。 插…

武汉星起航:跨境电商蓬勃发展 “买卖全球”激发外贸新活力

跨境电商正成为激活外贸新动能的重要力量。武汉星起航了解到&#xff0c;近日&#xff0c;沈阳综合保税区进口货仓内一派繁忙景象&#xff0c;满载着跨境电商进口商品的货车络绎不绝&#xff0c;这些商品将迅速送达全国各地消费者手中。这一景象&#xff0c;正是我国跨境电商业…

用Gold-yolo模块改进yolov8模型

gold-yolo论文&#xff1a; https://arxiv.org/pdf/2309.11331.pdf gold-yolo代码&#xff1a; https://github.com/huawei-noah/Efficient-Computing/tree/master/Detection/Gold-YOLO 一 gold模块简介 Gold-Yolo是华为诺亚方舟实验室2023年发布的工作&#xff0c;主要优化检…

操作系统安全

操作系统属于软件安全的范畴。 什么是操作系统&#xff1f; 操作系统是硬件和软件应用程序之间接口的程序模块&#xff0c;是计算机资源的管理者。操作系统是保证安全的重要基础。 一、操作系统安全基础 操作系统保护的对象 操作系统的安全功能 用户认证存储器保护文件与I/O设…

基于GIS、python机器学习技术的地质灾害风险评价与信息化建库应用

结合项目实践案例和科研论文成果进行讲解。入门篇&#xff0c;ArcGIS软件的快速入门与GIS数据源的获取与理解&#xff1b;方法篇&#xff0c;致灾因子提取方法、灾害危险性因子分析指标体系的建立方法和灾害危险性评价模型构建方法&#xff1b;拓展篇&#xff0c;GIS在灾害重建…

electron打包dist为可执行程序后记【electron-quick-start】

文章目录 目录 文章目录 前言 一、直接看效果 二、实现步骤 1.准备dist文件夹 2.NVM管理node版本 3.准备electron容器并npm run start 4.封装成可执行程序 1.手动下载electron对应版本的zip文件&#xff0c;解决打包缓慢问题 2.安装packager 3.配置打包命令执行内容…

利用CSS延迟动画,打造令人惊艳的复杂动画效果!

动画在前端开发中是经常遇到的场景之一&#xff0c;加入动画后页面可以极大的提升用户体验。 绝大多数简单的动画场景可以直接通过CSS实现&#xff0c;对于一些特殊场景的动画可能会使用到JS计算实现&#xff0c;通过本文的学习&#xff0c;可以让你在一些看似需要使用JS实现的…

广东东莞机房建设

在信息技术迅猛发展的今天&#xff0c;机房作为企业信息化的核心基础设施&#xff0c;其建设质量直接关系到企业数据的安全、系统的稳定以及业务的持续发展。特别是在广东省这样经济发达、科技先进的前沿地区&#xff0c;企业对机房的高效性、安全性和可靠性提出了更高的要求。…

【AAAI2024】点云的自适应邻域提取

论文标题&#xff1a;Point Deformable Network with Enhanced Normal Embedding for Point Cloud Analysis 论文地址&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/28497 两个创新点&#xff1a;可变邻域法向量提取 一、由固定邻居变为可变的邻域 二、最小二…

智慧公厕:打造城市品质生活的必备设施

公共厕所一直是城市管理中不可忽视的一环&#xff0c;而随着智慧科技的发展&#xff0c;智慧公厕逐渐成为改善城市品质生活的利器。智慧公厕作为一种创新的公共卫生设施&#xff0c;其带来的好处不仅体现在对公共厕所的全面监测和高效智慧化管理&#xff0c;更是为市民提供了更…

C/C++ BM25二叉树的后序遍历

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二总结 前言 和前序遍历中序遍历一致&#xff0c;换个顺序就行。 详情参考C/C BM23 二叉树的前序遍历 详情参考C/C BM24 二叉树的中序遍历 题目 给定一个二叉树&#xff0c;返回他的后序遍历的序列。 后序遍历是值…

python读取DBF数据

DBF文件通常是由数据库软件&#xff08;如FoxPro或dBASE&#xff09;创建的数据库文件。Python中并没有直接读取DBF文件的内置库&#xff0c;但你可以使用第三方库如dbfread来读取DBF文件。 首先&#xff0c;你需要安装dbfread库。你可以使用pip来安装&#xff1a; pip insta…