RocketMQ学习

概念理解:

NameServer(名字服务):

1.保存 Broker 的地址信息:每个 Broker 启动后会向 NameServer 注册自己的信息(IP、端口、topic、队列等)
2.提供路由信息给 Producer 和 Consumer:Producer 或 Consumer 想发送或消费消息时,会先去 NameServer 获取当前 topic 对应的 broker 路由信息,然后才能去对应的 broker 通信。

Broker(消息存储服务器)

1.接收 Producer 发送的消息并存储到磁盘。
2.接收 Consumer 的消息拉取请求,返回消息给 Consumer。
3.维持 topic、队列、消息偏移量等核心数据结构。

Topic(主题)

类似于消息的“主题”或“类别”,用于区分不同类型的消息。可以把它理解为一个消息的 分类标签。

运行流程:

  1. Broker 会向NameServer 注册自己的信息包括ip、端口、已经自己的topic、队列信息,
    2.Producer会从NameServer上拿broker及对应的topic信息,根据topic发送消息到不同的broker上,
    3.broker存储消息,
    4.Consumer从对应的topic所在的broker上拉取消息消费

1.1 window测试

1.官网下载Binary包,解压到本地https://rocketmq.apache.org/zh/download
2.配置Rocketmq环境变量和Java环境变量
3.执行cmd命令

start mqnamesrv.cmd

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
//创建topic
start mqadmin.cmd updatetopic -n localhost:9876 -t TestTopic -c DefaultCluster

4.测试
官网下载Source包,解压,找到example下的quickstart下的两个类,先执行Producer再执行Consumer,即可看到效果
5.官网dashboard压缩包,打包成jar包,然后访问http://127.0.0.1:8080

java -jar rocketmq-dashboard-2.0.0.jar
### RocketMQ 学习指南与入门教程 RocketMQ 是一种高性能的分布式消息队列系统,广泛应用于大规模数据处理和微服务架构中。对于初学者而言,掌握其核心概念、安装配置流程以及基本使用方式是学习的关键路径。 #### 核心概念介绍 在深入学习之前,理解 RocketMQ 的核心组件及其作用至关重要: - **Name Server**:提供轻量级的服务发现和路由元信息管理功能,负责维护 Broker 和 Topic 的注册信息。 - **Broker**:消息中转角色,负责接收来自 Producer 的消息并存储,同时为 Consumer 提供拉取消息的服务。 - **Producer**:消息生产者,负责将业务系统的数据发送到 Broker。 - **Consumer**:消息消费者,从 Broker 拉取并处理消息[^2]。 #### 安装与配置 在 Windows 环境下搭建 RocketMQ 服务可以作为入门的第一步。具体步骤如下: 1. 下载 RocketMQ 安装包,建议选择官方发布的稳定版本。 2. 配置 Java 环境,确保 JDK 已安装且环境变量已设置。 3. 解压下载的压缩包,并进入 `bin` 目录。 4. 修改 `runserver.cmd` 和 `runbroker.cmd` 文件中的 JVM 内存参数,以适配本地机器的内存资源。 5. 启动 Name Server: ```bash start mqnamesrv ``` 6. 启动 Broker: ```bash start mqbroker -n localhost:9876 autoCreateTopicEnable=true ``` 完成上述操作后,RocketMQ 基础服务即可运行[^1]。 #### 发送与消费消息 为了验证 RocketMQ 是否正常工作,可以通过内置的示例程序测试消息的发送与消费。 - **发送消息**:执行以下命令启动生产者并发送测试消息: ```bash tools.sh org.apache.rocketmq.example.quickstart.Producer ``` - **消费消息**:执行以下命令启动消费者并监听指定主题的消息: ```bash tools.sh org.apache.rocketmq.example.quickstart.Consumer ``` 通过观察控制台输出,可以确认消息是否成功被发送和接收[^2]。 #### 特性与应用场景 RocketMQ 提供了多种高级特性,适用于不同的业务场景: - **发布/订阅模型**:支持多个消费者组订阅同一主题,实现广播或多播消息传递。 - **事务消息**:确保业务操作与消息发送之间的最终一致性,适用于金融等对数据一致性要求较高的场景。 - **顺序消息**:保证消息按照发送顺序被消费,适用于订单状态变更等场景。 - **高可用性**:通过主从架构和 Dledger 集群机制保障服务持续可用。 - **弹性伸缩**:支持动态扩展 Broker 节点,适应流量波动[^3]。 #### 可视化管理工具 为了更方便地管理和监控 RocketMQ 集群,可以部署 RocketMQ Dashboard。该工具提供了图形界面,支持查看 Broker 状态、Topic 分布、Consumer 消费情况等功能。安装时需注意将默认的 `localhost:9876` 替换为实际的 Name Server 地址[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值