🏗️ Ingtube Common Backend Architecture

架构模式: 分层微服务 Monorepo (置信度: 0.92)

技术栈: Go 1.22 | Gin HTTP | gRPC | MySQL | MongoDB | Redis | Elasticsearch | RocketMQ | 阿里云 OSS

规模: 43 微服务 | 46 业务包 | 24 基础库

🌐 API 网关层 (Layer: Gateway)

对外暴露 RESTful API,处理鉴权、路由、限流

📱 app_api_server server/app_api_server

核心职责: C端 APP 主 API 网关,处理所有移动端请求

关键交互:

  • 调用: passport_rpc, order, elastic_rpc, shop-rpc
  • 被用于: 移动端 APP

复杂度: ⚠️ Critical (393 文件) 潜在风险: 📈 高耦合,建议拆分领域边界

🎯 sx_sponsor_api_server server/sx_sponsor_api_server

核心职责: B端商家/赞助商 API 网关

关键交互:

  • 调用: sponsor_credit, commission-rpc, shop-rpc
  • 被用于: 商家后台管理系统

复杂度: ⚠️ High (250 文件) 潜在风险: 稳定,领域边界清晰

🔧 admin_editor_refactor_server server/admin_editor_refactor_server

核心职责: 运营后台编辑器 API

关键交互:

  • 调用: 多个 RPC 服务
  • 被用于: 内部运营团队

复杂度: High (288 文件)

⚡ gRPC 服务层 (Layer: Business RPC)

核心业务逻辑,服务间通过 gRPC + Protobuf 通信

🛒 order server/order

核心职责: 订单核心服务

关键交互:

  • 调用: pay_server, ticket_rpc, settlement
  • 被用于: app_api, sponsor_api

复杂度: Critical 状态变更: ✍️ 写库操作频繁

💰 pay_server server/pay_server

核心职责: 支付网关 (微信/支付宝)

关键交互:

  • 调用: 外部支付 API
  • 被用于: order, sponsor_credit

复杂度: Critical 潜在风险: 🔐 敏感资金操作

🔑 passport_rpc_server server/passport_rpc_server

核心职责: 用户认证与鉴权

关键交互:

  • 调用: Redis (Session), MySQL
  • 被用于: 所有 API 网关

复杂度: High 安全等级: 🔒 核心安全组件

🏪 shop-rpc server/shop-rpc

核心职责: 店铺管理服务

关键交互:

  • 调用: elastic_rpc, production
  • 被用于: sponsor_api, app_api

复杂度: Medium

🔍 elastic_rpc_server server/elastic_rpc_server

核心职责: Elasticsearch 搜索代理

关键交互:

  • 调用: Elasticsearch 集群
  • 被用于: app_api, shop-rpc

复杂度: Medium

💎 commission-rpc server/commission-rpc

核心职责: 佣金计算引擎

关键交互:

  • 调用: settlement, order
  • 被用于: sponsor_api

复杂度: High 业务核心: 💵 营收关键路径

🎫 ticket_rpc_server server/ticket_rpc_server

核心职责: 工单/凭证管理

关键交互:

  • 调用: message_server
  • 被用于: order, app_api

复杂度: Medium

📊 sx_settlement_rpc_server server/sx_settlement_rpc_server

核心职责: 结算清算服务

关键交互:

  • 调用: pay_server, transaction_rpc
  • 被用于: commission, order

复杂度: Critical 潜在风险: 🏦 财务核心

📨 消息队列层 (Layer: Async Processing)

RocketMQ 驱动的异步任务与事件处理

📤 mq-proxy-server server/mq-proxy-server

核心职责: MQ 消息路由代理

通信模式: 发布/订阅 复杂度: Medium

🔄 canal_consumer server/canal_consumer

核心职责: MySQL Binlog 同步

数据流: MySQL → Canal → ES/MQ 复杂度: High 潜在风险: ⚠️ 数据一致性关键

⏰ regular_task server/regular_task

核心职责: 定时任务调度

执行模式: Cron 定时触发 复杂度: Low

🗄️ 基础设施层 (Layer: Infrastructure)

数据存储、缓存、外部服务

🐬 MySQL

主数据存储 GORM + 分库分表

⚡ Redis

缓存 + 分布式锁 Session 存储

🍃 MongoDB

文档存储 日志/审计数据

🔎 Elasticsearch

全文搜索 商品/内容索引

🚀 RocketMQ

消息队列 异步解耦

☁️ 阿里云 OSS

对象存储 图片/视频/文件

📦 公共包层 (Layer: Shared Packages)

可复用业务逻辑与基础工具

pkg/ (46 业务包)

authpkg - 认证授权 • shoppkg - 店铺业务 • pkgorder - 订单公共逻辑 • rebate - 返利计算 • sponsor - 赞助商业务 • oss - 存储封装 • message - 消息处理 • ... 更多领域包

library/ (24 基础库)

dbhelper - 数据库助手 • cache - 缓存封装 • grpc - gRPC 工具 • logger - 日志封装 • validator - 校验器 • lock - 分布式锁 • limiter - 限流器 • ... 更多工具库

protos/ (46 Protobuf 定义)

orderPb - 订单协议 • payPb - 支付协议 • shopPb - 店铺协议 • passportPb - 认证协议 • eventPb - 事件协议 • ... 更多服务定义

gRPC 服务间通信契约

🧠 AI 架构洞察

优势

✅ 清晰的分层架构设计 ✅ 统一的 gRPC 服务通信 ✅ 完善的基础设施抽象

潜在风险

⚠️ app_api_server 模块过大 (393 文件),建议按领域拆分 ⚠️ 部分服务存在循环依赖风险 ⚠️ 缺少统一的服务注册发现机制

技术债务

📈 canal_consumer 数据同步复杂度高 📈 支付模块需要额外的幂等性保障

认证下单搜索佣金支付结算Binlog协议定义