这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
核心数据
五类核心数据
核心数据
连接在内存,消息落库,礼物以订单为准
连接状态connection_id → user_id / room_id / device_idroom_id → connection_id 列表heartbeat_at消息message_idroom_id / user_id / contenttypestatuscreated_at房间room_idstatusconfigapprox_online礼物事件gift_event_idorder_idroom_id / sender / anchorgift_id / count / amount审核状态banned_usersensitive_hitrate_limit_stateadmin_action_log数据的放置原则
| 数据 | 放哪 | 为什么 |
|---|---|---|
| 连接状态 | 网关内存 | 变化快,不写库 |
| 消息 | 数据库 + 回放存储 | 需要持久与审计 |
| 房间状态 | 缓存 + 库 | 读写分离 |
| 治理状态 | Redis | 实时判断要快 |
| 礼物事件 | 队列 + 库 | 幂等与对账 |
关键原则
- 连接状态只放内存:变化太快,写库会拖垮网关。
- 在线人数允许近似:展示口径周期性聚合。
- 礼物以订单为准:账务与展示分开。
- 治理状态放 Redis:实时链路要毫秒级判断。
一句话
核心数据的放置,本身就是架构决策:内存扛高频,Redis 扛实时,数据库扛持久,队列扛解耦。知道「什么数据该放哪」,就理解了弹幕系统的骨架。
下一节是上线检查清单。
