Files
shensheshou/.apm/docs/architecture.md

17 KiB

🏗️ 神射手系统架构图

📅 更新: 2026-01-31 🎯 版本: v1.3.0


一、系统总览

┌─────────────────────────────────────────────────────────────────────────────┐
│                           神射手数据中台 v1.3                                 │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐  │
│  │  数据概览   │    │  数据接入   │    │  标签画像   │    │  AI Agent   │  │
│  │  首页AI对话 │    │  数据源管理 │    │  标签管理   │    │  渠道配置   │  │
│  │  数据统计   │    │  AI标签引擎 │    │  用户画像   │    │  AI打标     │  │
│  │             │    │  清洗规则   │    │  人群圈选   │    │  AI清洗     │  │
│  │             │    │  任务调度   │    │  流量池     │    │  智能报告   │  │
│  │             │    │  数据血缘   │    │             │    │             │  │
│  └─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘  │
│                                                                             │
│  ┌─────────────┐                                                            │
│  │  数据市场   │                                                            │
│  │  API服务    │                                                            │
│  │  流量包管理 │                                                            │
│  └─────────────┘                                                            │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

二、技术架构

┌─────────────────────────────────────────────────────────────────────────────┐
│                              客户端层                                        │
├─────────────────────────────────────────────────────────────────────────────┤
│  浏览器 (Web)     │   飞书机器人    │   企业微信    │   API调用方           │
└────────┬──────────┴────────┬────────┴───────┬───────┴──────────┬────────────┘
         │                   │                │                  │
         ▼                   ▼                ▼                  ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                              网关层                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│  Next.js 14 (localhost:3001)          │  FastAPI Gateway (卡若AI)          │
│  - 前端页面                            │  - /feishu/events                   │
│  - /api/* 接口                         │  - /wecom/callback                  │
│  - SSR渲染                             │  - /shensheshou/*                   │
└────────┬────────────────────────────────┴──────────────────────┬────────────┘
         │                                                       │
         ▼                                                       ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                              服务层                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌───────────────────┐    ┌───────────────────┐    ┌───────────────────┐   │
│  │   用户查询服务     │    │   标签引擎服务     │    │   AI对话服务      │   │
│  │   - 手机号查询     │    │   - RFM计算        │    │   - 意图识别      │   │
│  │   - QQ号查询       │    │   - 用户分级       │    │   - 数据拆解      │   │
│  │   - 智能搜索       │    │   - 标签生成       │    │   - 画像输出      │   │
│  └───────────────────┘    └───────────────────┘    └───────────────────┘   │
│                                                                             │
│  ┌───────────────────┐    ┌───────────────────┐    ┌───────────────────┐   │
│  │   流量池服务       │    │   数据清洗服务     │    │   报告生成服务    │   │
│  │   - 人群圈选       │    │   - 手机号格式化   │    │   - 日报/周报     │   │
│  │   - 流量包管理     │    │   - 数据去重       │    │   - AI分析报告    │   │
│  │   - 导出功能       │    │   - 质量评估       │    │   - 模板管理      │   │
│  └───────────────────┘    └───────────────────┘    └───────────────────┘   │
│                                                                             │
└────────┬────────────────────────────────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                              数据层                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │                        MongoDB (localhost:27017)                     │   │
│  │  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐       │   │
│  │  │   KR    │ │KR_腾讯  │ │KR_微博  │ │KR_京东  │ │KR_存客宝│ ...  │   │
│  │  │ 4.7GB  │ │ 62.5GB │ │ 18.7GB │ │ 20.1GB │ │ 0.44GB │       │   │
│  │  │用户估值│ │QQ+手机 │ │UID+手机│ │ 消费  │ │用户资产│       │   │
│  │  └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘       │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  总计: 26个数据库 | 20.13亿条记录 | 222GB存储                               │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

三、数据流向

┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  数据源     │ ──▶ │  AI标签引擎 │ ──▶ │  用户估值   │ ──▶ │  流量池     │
│  KR_腾讯    │     │  字段拆解   │     │  RFM计算    │     │  人群分层   │
│  KR_微博    │     │  数据清洗   │     │  等级划分   │     │  标签筛选   │
│  KR_京东    │     │  标签生成   │     │  画像合并   │     │  流量包输出 │
│  KR_存客宝  │     │             │     │             │     │             │
└─────────────┘     └─────────────┘     └─────────────┘     └─────────────┘
       │                   │                   │                   │
       │                   │                   │                   │
       ▼                   ▼                   ▼                   ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                              KR.用户估值 (核心表)                            │
├─────────────────────────────────────────────────────────────────────────────┤
│  phone          │  user_evaluation_score  │  unified_tags  │  traffic_pool │
│  phone_masked   │  rfm_scores             │  source_channels│  user_level   │
│  name           │  data_quality           │  merge_evidence │  created_at   │
└─────────────────────────────────────────────────────────────────────────────┘

四、API架构

/api/
├── ai-chat/              # AI智能对话
│   ├── GET  → 获取状态
│   └── POST → 发送查询
│
├── data-sources/         # 数据源管理
│   ├── GET  → 列表+统计
│   └── POST → 连接测试
│
├── tags/                 # 标签服务
│   └── GET  → 标签统计
│
├── portrait/             # 用户画像
│   └── GET  → 画像查询
│
├── traffic-packages/     # 流量池
│   ├── GET  → 池统计
│   └── POST → 创建流量包
│
├── crowd-pools/          # 人群圈选
│   └── GET  → 项目/池/用户
│
├── database-structure/   # 数据库结构
│   └── GET  → 血缘数据
│
└── monitoring/           # 系统监控
    └── GET  → 健康状态

五、GitHub参考项目

5.1 Tracardi CDP

  • 仓库: github.com/tracardi/tracardi
  • 星数: 621+
  • 技术: Python + FastAPI + Elasticsearch
  • 可借鉴:
    • Profile合并算法
    • 事件处理工作流
    • 插件架构设计

5.2 Crowd.dev

  • 仓库: github.com/CrowdDotDev/crowd.dev
  • 星数: 3.3k+
  • 技术: TypeScript + PostgreSQL
  • 可借鉴:
    • 社区数据整合
    • 活跃度计算
    • 成员画像

5.3 借鉴要点

功能 参考项目 核心代码
用户合并 Tracardi profile/merger.py
事件追踪 Tracardi domain/event.py
标签计算 Tracardi process/tagging.py
活跃度 Crowd.dev services/member.ts

六、优化方向

6.1 性能优化

当前问题:
  - 大表查询慢 (>10s)
  - 内存占用高

解决方案:
  - $sample采样 ✅ 已实施
  - 索引优化
  - 分页查询
  - 缓存层

6.2 架构优化

计划:
  - 引入Redis缓存热点数据
  - 分离读写库
  - 增加消息队列(RabbitMQ)

七、部署架构

┌─────────────────────────────────────────────────────────────────────────────┐
│                              生产环境                                        │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌───────────────────┐    ┌───────────────────┐    ┌───────────────────┐   │
│  │   Nginx反向代理   │ ──▶│   Next.js服务     │ ──▶│   MongoDB集群     │   │
│  │   SSL证书         │    │   PM2进程管理     │    │   Docker容器      │   │
│  │   负载均衡        │    │   端口:3001       │    │   端口:27017      │   │
│  └───────────────────┘    └───────────────────┘    └───────────────────┘   │
│         │                                                                   │
│         ▼                                                                   │
│  ┌───────────────────┐                                                      │
│  │   FastAPI网关     │                                                      │
│  │   飞书/企微回调   │                                                      │
│  │   端口:8000       │                                                      │
│  └───────────────────┘                                                      │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘