在rocketmq 5.0版本中 org.apache.rocketmq.common.topic.TopicValidator 这个类中定义了几个特殊的topic,这些topic都各自是什么作用?
AUTO_CREATE_TOPIC_KEY_TOPIC = “TBW102”: 这是一个自动创建的主题,当isAutoCreateTopicEnable参数为真时,将在broker上创建。
RMQ_SYS_SCHEDULE_TOPIC = “SCHEDULE_TOPIC_XXXX”: 用于保存延迟消息。RocketMQ支持延迟消息发送,可以通过配置不同的延迟级别实现。
RMQ_SYS_BENCHMARK_TOPIC = “BenchmarkTest”: 主要用于性能测试。
RMQ_SYS_TRANS_HALF_TOPIC = “RMQ_SYS_TRANS_HALF_TOPIC”: 存放半消息(Half Message)。发送事务消息时,首先会向RocketMQ发送一个半消息,此时消息不能被消费者看到或消费。
RMQ_SYS_TRACE_TOPIC = “RMQ_SYS_TRACE_TOPIC”: 用于消息跟踪。当开启消息跟踪功能时,所有的消息轨迹数据都会被发送到这个主题。
RMQ_SYS_TRANS_OP_HALF_TOPIC = “RMQ_SYS_TRANS_OP_HALF_TOPIC”: 用于存储半消息回查的操作结果。
RMQ_SYS_TRANS_CHECK_MAX_TIME_TOPIC = “TRANS_CHECK_MAX_TIME_TOPIC”: 主要用于检查事务消息的最大检查时间,以防止长时间未确认的事务消息。
RMQ_SYS_SELF_TEST_TOPIC = “SELF_TEST_TOPIC”: 主要用于RocketMQ自身的测试。
RMQ_SYS_OFFSET_MOVED_EVENT = “OFFSET_MOVED_EVENT”: 当发生重平衡或者客户端主动更改消费进度时,产生的偏移移动事件会被记录在这个主题中。