
# 主题（Topic）
主题是消息生产和消费的基础逻辑单元。生产者将消息发送到特定主题，消费者从该主题订阅消息，从而实现消息的高效分发和可靠传递。
#### 为什么需要主题
在微服务架构下，服务间需要频繁进行数据交互。若采用同步调用，服务间强依赖会导致系统耦合度高，一旦下游服务故障，上游业务将受阻，难以应对高并发场景。
面对系统解耦与流量削峰的需求，如何构建灵活、可靠的异步通信机制？主题提供了标准化的消息组织与分发能力。通过定义独立的主题，消息发送方只需将数据投递至主题，无需感知接收方状态；接收方按需订阅消费，既降低了系统耦合，又通过异步化处理提升了系统整体的吞吐量和稳定性。同时，主题作为消息缓冲层，可在流量高峰时暂存消息，由消费者按自身处理能力消费，实现流量削峰。
#### 主题的优势是什么
- **逻辑隔离**：不同主题承载不同业务流的消息，实现业务数据的逻辑隔离，避免数据混杂，便于独立管理和监控。
- **高扩展性**：单个主题底层由多个队列组成，支持通过增加队列数量线性提升读写并发能力，适配业务流量的增长。
- **灵活订阅**：同一主题可被多个消费组独立订阅，各消费组互不影响、各自维护消费进度，满足一条消息被多个业务独立消费的需求。
 
#### 主题的工作原理
主题的工作原理基于发布/订阅模型，是消息传输和路由的第一级分类单位，用于标识同一类业务逻辑的消息。
图1主题工作原理   
![](https://support.huaweicloud.com/productdesc-hrm/zh-cn_image_0000002622538873.png "点击放大")
主题的一般工作流程如下：
1. 生产者创建消息并将其发布到特定的消息主题中。
2. RocketMQ服务端将消息存储到指定的主题中。
3. 消费者按照指定的订阅关系从主题中获取消息并消费。
 
#### RocketMQ主题的分类
主题根据不同的消息投递语义与业务可靠性要求，分为普通消息主题、顺序消息主题、事务消息主题和定时/延时消息主题四大类。
- **普通消息主题**：采用异步分发机制，不严格保证消息的先后顺序，具备高吞吐、低延迟的特征。适用于海量数据吞吐场景，如日志收集、大数据管道传输、物联网设备数据上报及非核心业务通知。
- **顺序消息主题**：通过分区有序队列结构，严格遵循先进先出（FIFO）原则，提供全局或分区顺序保障。适用于对时序敏感的核心业务流程，如订单创建状态流转、数据库Binlog同步、核心交易指令下发等场景。
- **事务消息主题**：基于两阶段提交协议，通过"半消息"机制确保本地事务与消息发送的原子性，具备最终一致性保障。适用于跨服务分布式事务场景，如支付成功后同步更新积分、电商下单后扣减库存等需保证数据最终一致的场景。
- **定时/延迟消息主题**：采用时间轮调度机制，支持指定时刻或延时触发消费，具备精确的时效控制能力。适用于触发型任务处理场景，如订单超时未支付自动取消、分布式任务重试调度、优惠券到期提醒等。
 
#### 与主题相关的操作和特性
在全面了解主题的核心概念与应用场景后，本小节将为您介绍主题的常用基础操作与高级应用特性。如果您想要深入了解并在实际业务中配置使用，可以点击相关超链接跳转查看详细的华为云官方文档。
**主题相关基础操作**：
- 创建主题：创建一个主题后，消息生产者将消息发送到主题中，而消息消费者则通过订阅该主题来消费消息，详情请参考[创建RocketMQ Topic](https://support.huaweicloud.com/usermanual-hrm/hrm-ug-008.html)。
- 删除主题：当主题不需要使用时，可以删除主题，释放资源，详情请参考[删除RocketMQ Topic](https://support.huaweicloud.com/usermanual-hrm/hrm-ug-011.html)。
**更多相关操作：**
- 生产消息：生产者登录客户端连接RocketMQ实例，生产主题中的消息，详情请参考[使用客户端连接RocketMQ（关闭SSL）](https://support.huaweicloud.com/usermanual-hrm/hrm-ug-039.html)或[使用客户端连接RocketMQ（开启SSL）](https://support.huaweicloud.com/usermanual-hrm/hrm-ug-040.html)。
- 为用户赋予不同的主题权限：当您需要创建多个用户并为其赋予不同的主题权限，以达到用户之间的权限隔离时，可以开启ACL访问控制并配置用户，详情请参考[开启RocketMQ ACL访问](https://support.huaweicloud.com/usermanual-hrm/hrm-ug-070.html)和[配置RocketMQ ACL用户](https://support.huaweicloud.com/usermanual-hrm/hrm-ug-035.html)。
 
