# 事件 Schema 规则

## MQTT Topic 命名规范

```
rmdc/{module}/{resource}/{action}
```

示例：
- `rmdc/exchange-hub/command/created`
- `rmdc/watchdog/deployment/started`
- `rmdc/user-auth/user/registered`

## Payload 结构规范

```json
{
  "version": "1.0",
  "timestamp": "2026-01-23T10:00:00Z",
  "trace_id": "abc-123",
  "event_type": "user.registered",
  "source": "rmdc-user-auth",
  "data": {
    // 业务数据
  }
}
```

## 必须字段

| 字段 | 类型 | 说明 |
|:---|:---|:---|
| version | string | Schema 版本 |
| timestamp | string | ISO 8601 时间戳 |
| trace_id | string | 追踪ID |
| event_type | string | 事件类型 |
| source | string | 来源模块 |
| data | object | 业务数据 |

## 演进规则

- 新增字段：在 `data` 中添加，消费者忽略未知字段
- 删除字段：先标记废弃，保留 2 个版本后删除
- 类型变更：升级 `version` 字段
