GoWind 开源生态GoWind 开源生态
首页
框架
GoWind Admin
GoWind CMS
GoWind IM
GoWind UBA
GoWind IoT
GoWind Toolkit
GoWind Quant
GitHub
首页
框架
GoWind Admin
GoWind CMS
GoWind IM
GoWind UBA
GoWind IoT
GoWind Toolkit
GoWind Quant
GitHub
  • 介绍

    • GoWind UBA 产品介绍
  • 架构参考

    • UBA 系统架构
    • UBA 后端模块总览
    • UBA 后端 API 契约
    • UBA 前端架构
  • 开发者指南(二开)

    • UBA 安装指南
    • UBA 代码生成管线教程
    • 新增对外服务教程
    • 新增业务实体教程
    • 新增前端页面教程
  • 运维指南

    • UBA Docker 部署指南
    • UBA 配置详解与安全清单
    • UBA PM2 部署指南
    • UBA Superset BI 部署指南
  • 数据分析师指南

    • 数据分析师上手指南
    • 基础聚合

      • 事件趋势分析
      • 活跃用户分析
      • 维度分组聚合
    • 转化与路径

      • 漏斗分析
      • 留存分析
      • 热门转化路径
      • 行为序列分析
    • 用户深度

      • 归因分析
      • 分布分析
      • 用户分群圈选
      • 点击热力图
      • 间隔时间分析
    • 生命周期

      • 用户生命周期
      • 流失与回流分析
      • 新老用户对比
      • 矩阵象限分析
    • 营收与价值

      • 营收分析
      • 付费分层(鲸鱼分析)
      • 历史 LTV 分析
    • 会话与异常

      • 会话分析
      • 同比环比与异常检测
    • 游戏专属

      • 关卡分析(游戏)
      • 滚服留存(游戏)
      • 同时在线分析(游戏)
      • 经济系统分析(游戏)
    • OLAP 查询手册
  • SDK 接入

    • Web SDK 接入指南
    • C# SDK 接入指南(Unity / Godot / .NET)
  • 附录

    • UBA 附录:端口、术语、已知限制与 FAQ

UBA 附录:端口、术语、已知限制与 FAQ


一、端口对照表

服务 / 组件服务监听端口docker-compose 宿主映射备注
Admin Service REST56009700不一致,需统一
Admin Service SSE56019701不一致,需统一
Collector Service HTTP57009800, 9801不一致,需统一
Core Service gRPC动态(etcd 发现)(不映射)容器内通过 etcd 发现
PostgreSQL54325432一致
Redis63796379一致
Kafka90929092容器内用 kafka:9092
Etcd2379, 23802379, 2380一致
MinIO API / Console9000 / 90019001 / 9002一致
Jaeger UI1668616686一致
Doris FE(MySQL / HTTP)9030 / 80309030, 8030, 9010一致
Doris BE8040, 90508040, 9050一致
Superset80888088一致

统一原则:以上报/查询用的「服务监听端口」为准。Docker 映射与服务监听不一致处(admin/collector),生产化时需对齐(改 compose 映射或改服务 server.yaml)。详见 配置详解。


二、术语表

术语含义
UBAUser Behavior Analytics,用户行为分析
UEBAUser and Entity Behavior Analytics,用户与实体行为分析(UBA 的演进,扩展到设备/应用/端点等实体)
Collector采集 BFF,接收 SDK 上报并转发 Kafka
Core核心业务服务,入库/建模/查询/风险/标签
Admin管理后台 BFF,HTTP 网关 + SSE,薄转发
OLAP列式分析引擎,UBA 支持 Doris(默认)/ ClickHouse 二选一
events_fact行为事件事实表(核心分析数据源)
sessions_fact会话级汇总事实表
cohort留存分析的队列(同期用户群)
appId / appSecret应用级鉴权凭据,在管理后台「应用管理」创建
tenantId租户 ID,服务端按 appId 权威识别,客户端不上报
super properties公共属性,设置后每条事件自动携带
UseClickHouse编译期常量,决定 OLAP 引擎(false=Doris 默认)
Asynq基于 Redis 的异步任务队列
Connect-RPC前端 TypeScript API 客户端协议(由 proto 生成)

三、已知限制与路线图

本节如实记录代码当前状态,便于评估生产可用性与规划二开。

已知缺口

说明:Kafka 消费入库已是默认能力,不属于缺口。默认由 OLAP 引擎虚拟表消费 Kafka(ClickHouse Kafka 引擎表 / Doris Routine Load)落库;Core 侧另预留微服务消费接口,吞吐不够时可启用。详见 系统架构 · Kafka 消费入库机制。

项现状影响规划方向
WAU / MAU 小时粒度日级 wau/mau 已基于 HLL 滚动窗口输出真值;仅 HOUR 粒度因无小时级状态退化为等于 DAU小时粒度的周/月活不准确预聚合小时级 uv 状态
风险检测引擎仅实现风险事件/规则的存取(CRUD,RiskEventService.Get 等查询已可用)无「事件匹配规则并自动评分」落地规则评估引擎,对接风险事件生成

数据库一致性提醒

  • compose 默认 POSTGRES_DB=gwubd,服务 data.yaml 连 gw_uba——需对齐。
  • collector data.yaml 的 kafka 默认 127.0.0.1:9092,容器化需改 kafka:9092。
  • PostgreSQL 表结构由 Ent 生成(无手写 schema.sql),sql/postgresql/ 仅种子/演示数据。

安全默认值(必须轮换)

  • JWT key some_api_key、AES key f51d66a73d8a0927。
  • 各中间件密码 *Abcd123456、Doris root 空密码、Superset admin/admin。
  • CORS origins: ["*"]、无 TLS。

详见 配置详解 · 安全清单。


四、FAQ

Q1:UBA 能处理多大的数据量?

A:基于 Doris / ClickHouse 列式引擎,设计上可处理亿级事件。实际吞吐取决于引擎规格与 Kafka 集群。

Q2:上报后多久能查到数据?

A:秒级。Collector 写入 Kafka 后,由 OLAP 引擎的虚拟表(ClickHouse Kafka 引擎表)/ Routine Load(Doris)持续消费落库,正常情况下几秒内即可在 events_fact 查到。若长时间查不到,先排查 OLAP 引擎的消费作业(Routine Load 状态 / 物化视图)是否正常运行。

Q3:如何切换 ClickHouse / Doris?

A:修改 app/core/service/internal/data/data.go 的 UseClickHouse 常量并重新编译 Core(不是运行时配置)。

Q4:有没有 iOS / Android 原生 SDK?

A:当前没有。仅有 Web SDK(TypeScript)和 C# SDK(Unity/Godot/.NET)。移动端游戏可用 C# SDK(Unity);纯原生 App 需自行通过 POST /uba/v1/report 对接。

Q5:是否支持多租户?

A:支持。tenantId 由服务端按 appId 权威识别并覆盖,客户端无需关心,天然隔离。

Q6:如何做自定义 BI 报表?

A:部署 Superset,连 Doris 的 gw_uba 库,基于事实表建仪表板。见 Superset 部署。

Q7:proto 改了前端为什么不生效?

A:忘了 make ts 并手动同步 TS 产物,或忘了 make wire。见 代码生成管线。

Q8:ent 编译报 Modify 缺失?

A:用了错误的 ent 生成命令(没带 feature flags)。正确命令见 代码生成管线 · Ent 的坑。


五、相关文档

  • 产品介绍
  • 系统架构
  • 配置详解
  • 后端 API 契约
Edit this page
Last Updated:: 6/29/26, 3:57 PM
Contributors: Bobo