i2kai

HUB Center:统一的后端底座

2026/3/18
Go后端架构微服务

为什么需要统一后端?

50个应用,如果每个都单独搭建后端,运维成本会爆炸。

我的解决方案是:HUB Center — 一个统一的后端服务系统。

问题独立后端HUB Center
服务器数量50台1台
数据库数量50个2个
用户系统50套1套
运维成本爆炸可控
数据打通困难天然支持

核心价值:一次建设,50次复用。

系统架构

┌─────────────────────────────────────────────────┐
│                应用层 (50个应用)                  │
│   快拼工坊 | 色卡精灵 | 译言宝 | 九宫格 | ...    │
└─────────────────────────────────────────────────┘
                        ↓ HTTPS
┌─────────────────────────────────────────────────┐
│                    API 网关                      │
│          认证 | 限流 | 日志 | 监控               │
└─────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────┐
│                  后端服务层                      │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │ 用户服务 │ │ 订阅服务 │ │ 数据服务 │           │
│  └─────────┘ └─────────┘ └─────────┘           │
└─────────────────────────────────────────────────┘
           ↓              ↓              ↓
┌─────────────────────────────────────────────────┐
│                  数据存储层                      │
│   hub_db (MySQL)  |  Redis                      │
└─────────────────────────────────────────────────┘

核心模块

1. 用户服务 (User Service)

统一管理所有应用的用户:

  • 手机号验证码登录
  • 多端登录(iOS/Android/Web统一)
  • Token管理(自动刷新、过期处理)
  • 统一的用户资料

2. 订阅服务 (Subscription Service)

统一管理VIP和配额:

  • VIP购买(支付宝/微信支付)
  • 每个应用独立的配额池
  • 套餐管理(月卡/季卡/年卡)
  • 自动续费

每个应用有独立的配额池,VIP用户共享VIP权益。

3. 数据服务 (Data Service)

统一收集和分析数据:DAU/MAU、启动次数、收入数据、行为分析。

技术实现

层级技术选型说明
后端语言Go高性能、易部署
Web框架Gin轻量级、高性能
数据库MySQL 8.0关系型数据库
缓存Redis会话、配额缓存
部署Docker容器化部署

数据库设计

-- 用户表(统一)
CREATE TABLE hub_user (
    id BIGINT PRIMARY KEY,
    phone VARCHAR(20) UNIQUE,
    nickname VARCHAR(50),
    avatar VARCHAR(255),
    created_at TIMESTAMP
);

-- 应用表
CREATE TABLE hub_app (
    id BIGINT PRIMARY KEY,
    app_id VARCHAR(50) UNIQUE,
    app_name VARCHAR(100),
    package_name VARCHAR(100)
);

-- 用户应用关联表
CREATE TABLE hub_user_app (
    id BIGINT PRIMARY KEY,
    user_id BIGINT,
    app_id VARCHAR(50),
    quota_used INT DEFAULT 0,
    quota_limit INT DEFAULT 100,
    vip_expire_at TIMESTAMP
);

部署方案

# Docker Compose
services:
  hub-backend:
    build: ./backend
    ports:
      - "8888:8888"
    depends_on:
      - mysql
      - redis

  mysql:
    image: mysql:8.0
    volumes:
      - mysql_data:/var/lib/mysql

  redis:
    image: redis:7
    volumes:
      - redis_data:/data

写在最后

HUB Center不是什么复杂的系统,但它解决了50个应用的核心问题:

把共性的东西抽出来,统一建设,重复使用。

有了这个后端底座,每个新应用只需要关注业务逻辑,基础设施全部复用。