Skip to content

游戏数据分析系统文档 ​

本节只保留与当前仓库内分析链路实现对应的说明:cmd/ingest、cmd/analytics-worker、configs/analytics/*、Redis、ClickHouse。

文档导航 ​

核心概念 ​

技术实施 ​

快速落地 ​

数据链路拓扑 ​

三条链路各有分工,查询出口统一收敛到后台 Dashboard(Analytics 分组):

链路数据来源存储查询出口适用场景
A:ClickHouse 管道客户端/游戏服 → cmd/ingest(HMAC 签名上报)Redis Streams → cmd/analytics-worker → ClickHouse(events/payments 明细 + 3 张聚合表)数据仓库页(/api/v1/analytics/warehouse/*)玩家行为、DAU/在线、收入等大规模明细与聚合
B:Server GORMServer 自身业务模型(玩家、支付、关卡等游戏库表)各 game 库(internal/model)概览/留存/行为/支付/关卡页中低数据量、需与业务实体 join 的统计
C:OTel bridgeServer 进程内遥测事件(OTel 语义命名,点号事件名)bridge XAdd → analytics:events → 同管道 A同 A(事件归流后与 A 合并)服务端自动埋点,无需游戏侧改造

历史出口 Grafana(configs/grafana/ 空骨架)已随 P2 出口改造删除;需要自建可视化的部署可自行接 ClickHouse 数据源。

当前链路 ​

启动顺序 ​

bash
docker compose up -d redis clickhouse
make server
make worker
make ingest
./bin/croupier-server --config configs/server.yaml
ANALYTICS_INGEST_SECRET=dev-secret ./bin/ingest --addr :8088 --secret dev-secret
./bin/analytics-worker