核心数据

五类核心数据

核心数据

连接在内存,消息落库,礼物以订单为准

连接状态
网关内存,变化快不落库
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 扛实时,数据库扛持久,队列扛解耦。知道「什么数据该放哪」,就理解了弹幕系统的骨架。

下一节是上线检查清单。

发现内容有问题?

告诉我们哪里需要改进。