# FischerX 系统架构 > **文档版本**: v1.0.0 > **创建日期**: 2026-05-25 > **最后更新**: 2026-05-25 > **文档作者**: FischerX 团队 > **文档状态**: 已发布 > **适用范围**: 全体开发人员、架构师 ## 目录 - [一、架构概述](#一架构概述) - [二、架构层次](#二架构层次) - [三、模块划分](#三模块划分) - [四、技术架构](#四技术架构) - [五、数据架构](#五数据架构) - [六、部署架构](#六部署架构) --- ## 一、架构概述 ### 1.1 设计理念 FischerX 采用现代化全栈架构设计,遵循以下核心原则: - **模块化设计**: 将系统拆分为独立可复用的模块,降低耦合度 - **可扩展性**: 支持水平扩展和垂直扩展,预留技术升级空间 - **快速开发**: 开箱即用的基础设施配置,提升开发效率 - **业务复用**: 提取通用业务模式,固化行业最佳实践 - **标准化**: 统一的代码规范、接口标准、数据标准 - **国内适配**: 充分考虑国内环境特殊性,提供完整的国内生态集成 ### 1.2 架构目标 - **高可用性**: 99.9% 以上的系统可用性 - **高性能**: 接口响应时间 < 200ms(P95) - **可维护性**: 清晰的代码结构,完善的文档 - **可扩展性**: 支持从单体应用平滑过渡到微服务 - **安全性**: 满足国内合规要求,数据安全有保障 --- ## 二、架构层次 ### 2.1 整体架构图 ```mermaid graph TB subgraph "应用层" WebApp[Web应用] AdminApp[管理后台] MobileApp[移动应用] MiniApp[小程序] end subgraph "业务层" UserMod[用户管理] AuthMod[权限控制] PayMod[支付系统] ContMod[内容管理] OrderMod[订单系统] NotifyMod[消息通知] FileMod[文件存储] AnalyMod[数据分析] end subgraph "服务层" AuthSvc[认证服务] PaySvc[支付网关] SMSSvc[短信服务] VerifySvc[实名认证] MapSvc[地图服务] AISvc[AI服务] MonitorSvc[监控服务] LogSvc[日志服务] end subgraph "数据层" PostgreSQL[(PostgreSQL)] Redis[(Redis)] RabbitMQ[(RabbitMQ)] Elastic[(Elasticsearch)] OSS[(对象存储)] end subgraph "基础设施层" K8s[Kubernetes] SLB[负载均衡] CDN[CDN加速] CI_CD[CI/CD] Monitor[监控告警] Logging[日志收集] end WebApp --> UserMod WebApp --> AuthMod WebApp --> PayMod WebApp --> ContMod WebApp --> OrderMod WebApp --> NotifyMod AdminApp --> UserMod AdminApp --> AuthMod AdminApp --> ContMod AdminApp --> OrderMod AdminApp --> AnalyMod MobileApp --> UserMod MobileApp --> PayMod MobileApp --> OrderMod MobileApp --> NotifyMod MiniApp --> UserMod MiniApp --> PayMod MiniApp --> OrderMod UserMod --> AuthSvc UserMod --> PostgreSQL UserMod --> Redis AuthMod --> AuthSvc AuthMod --> PostgreSQL AuthMod --> Redis PayMod --> PaySvc PayMod --> PostgreSQL PayMod --> RabbitMQ PayMod --> Redis ContMod --> PostgreSQL ContMod --> OSS ContMod --> Elastic OrderMod --> PostgreSQL OrderMod --> RabbitMQ OrderMod --> Redis NotifyMod --> SMSSvc NotifyMod --> RabbitMQ FileMod --> OSS FileMod --> CDN AnalyMod --> PostgreSQL AnalyMod --> Elastic AuthSvc --> PostgreSQL AuthSvc --> Redis PaySvc --> PostgreSQL PaySvc --> Redis MonitorSvc --> Monitor LogSvc --> Logging PostgreSQL --> K8s Redis --> K8s RabbitMQ --> K8s Elastic --> K8s OSS --> CDN ``` ### 2.2 层次说明 #### 应用层 - **Web应用**: 面向用户的主站应用 - **管理后台**: 面向运营人员的管理系统 - **移动应用**: React Native 开发的移动应用 - **小程序**: 微信/支付宝小程序 #### 业务层 - **用户管理模块**: 用户注册、登录、信息管理 - **权限控制模块**: RBAC 权限模型、角色管理、权限分配 - **支付系统模块**: 微信支付、支付宝支付、银联支付 - **内容管理模块**: 内容发布、审核、评论管理 - **订单系统模块**: 订单创建、状态管理、查询统计 - **消息通知模块**: 短信、邮件、推送、站内消息 - **文件存储模块**: 对象存储、文件上传下载、CDN加速 - **数据分析模块**: 用户行为分析、业务统计、数据可视化 #### 服务层 - **认证服务**: JWT Token管理、OAuth2.0集成 - **支付网关**: 统一支付接口、多支付渠道切换 - **短信服务**: 阿里云短信集成 - **实名认证**: 身份证验证、人脸识别 - **地图服务**: 高德地图集成 - **AI服务**: 百度AI、阿里AI集成 - **监控服务**: 性能监控、错误追踪 - **日志服务**: 日志收集、分析、查询 #### 数据层 - **PostgreSQL**: 主关系数据库 - **Redis**: 分布式缓存、会话存储 - **RabbitMQ**: 可靠消息传递 - **Elasticsearch**: 全文搜索、日志分析 - **对象存储**: 阿里云OSS/腾讯云COS #### 基础设施层 - **Kubernetes**: 容器编排 - **负载均衡**: SLB/CLB - **CDN加速**: 阿里云CDN - **CI/CD**: 阿里云云效/Jenkins - **监控告警**: 阿里云ARMS/Prometheus+Grafana - **日志收集**: 阿里云SLS/ELK Stack --- ## 三、模块划分 ### 3.1 核心模块清单 ```yaml 基础模块: 1. 用户管理模块 - 用户注册/登录 - 手机号验证码登录 - 微信/支付宝登录 - 实名认证 - 用户信息管理 2. 权限控制模块 - RBAC权限模型 - 角色管理 - 权限分配 - 资源访问控制 3. 认证授权模块 - JWT Token管理 - Session管理 - OAuth2.0集成 - 多因素认证 4. 文件存储模块 - 对象存储集成 - 文件上传/下载 - 图片处理(压缩、裁剪、水印) - CDN加速 5. 消息通知模块 - 短信通知(阿里云短信) - 邮件通知 - 推送通知(小程序、App) - 站内消息 业务模块: 1. 支付系统模块 - 微信支付集成 - 支付宝支付集成 - 银联支付集成 - 订单管理 - 退款处理 2. 内容管理模块 - 内容发布 - 内容审核(敏感词过滤) - 评论管理 - 标签分类 3. 订单系统模块 - 订单创建 - 订单状态管理 - 订单查询 - 订单统计 4. 数据分析模块 - 用户行为分析 - 业务数据统计 - 数据可视化 - 报表生成 服务模块: 1. 第三方服务集成 - 地图服务(高德地图) - AI服务(百度AI、阿里AI) - 实名认证服务 - OCR识别服务 2. 监控服务模块 - 性能监控 - 错误追踪 - 用户行为追踪 - 业务指标监控 3. 日志服务模块 - 日志收集 - 日志分析 - 日志查询 - 日志告警 ``` ### 3.2 模块依赖关系 ```mermaid graph LR UserMod[用户管理] --> AuthMod[认证授权] UserMod --> FileMod[文件存储] AuthMod[认证授权] --> AuthSvc[认证服务] PayMod[支付系统] --> OrderMod[订单系统] PayMod[支付系统] --> NotifyMod[消息通知] ContMod[内容管理] --> FileMod[文件存储] ContMod[内容管理] --> UserMod[用户管理] OrderMod[订单系统] --> UserMod[用户管理] OrderMod[订单系统] --> NotifyMod[消息通知] NotifyMod[消息通知] --> UserMod[用户管理] AnalyMod[数据分析] --> UserMod[用户管理] AnalyMod[数据分析] --> OrderMod[订单系统] AnalyMod[数据分析] --> ContMod[内容管理] ``` --- ## 四、技术架构 ### 4.1 技术栈总览 | 层级 | 技术选型 | 说明 | |------|---------|------| | **前端框架** | Next.js 14+ | React 框架,支持 SSR/SSG | | **前端语言** | TypeScript 5+ | 类型安全 | | **前端UI** | Shadcn UI + Tailwind CSS | 组件库 + 原子化 CSS | | **前端状态** | Zustand + React Query | 轻量级状态管理 | | **后端框架** | NestJS | 企业级 Node.js 框架 | | **后端语言** | TypeScript | 前后端技术栈统一 | | **ORM** | Prisma | 类型安全的 ORM | | **数据库** | PostgreSQL 15+ | 主关系数据库 | | **缓存** | Redis 7+ | 分布式缓存 | | **消息队列** | RabbitMQ | 可靠消息传递 | | **搜索引擎** | Elasticsearch 8+ | 全文搜索 | | **对象存储** | 阿里云 OSS | 国内首选云存储 | | **容器化** | Docker + Kubernetes | 容器编排 | | **CI/CD** | 阿里云云效 | 国内 CI/CD 平台 | | **监控** | 阿里云 ARMS + Sentry | 应用监控 + 错误追踪 | | **日志** | 阿里云 SLS | 日志服务 | ### 4.2 前端技术架构 ```yaml 核心框架: - Next.js 14+ (React框架,支持SSR/SSG) - TypeScript 5+ (类型安全) - React 18+ (并发渲染、Suspense) UI组件库: - Shadcn UI (基于Radix UI的组件库) - Tailwind CSS 3+ (原子化CSS) - Ant Design 5+ (企业级组件库,国内生态) 状态管理: - Zustand (轻量级状态管理) - React Query (服务端状态管理) - React Hook Form (表单管理) 工具链: - Vite (构建工具) - ESLint + Prettier (代码规范) - Vitest + Playwright (测试框架) ``` ### 4.3 后端技术架构 ```yaml 核心框架: - Node.js 20+ LTS - NestJS (企业级Node.js框架) ORM框架: - Prisma (Node.js ORM,类型安全) API设计: - RESTful API (标准接口) - GraphQL (灵活查询) - tRPC (端到端类型安全) 认证授权: - Passport.js (Node.js认证中间件) - JWT + RBAC权限控制 ``` --- ## 五、数据架构 ### 5.1 数据库选型 | 数据库类型 | 技术选型 | 使用场景 | |-----------|---------|---------| | **关系型数据库** | PostgreSQL 15+ | 主数据库,存储业务数据 | | **缓存数据库** | Redis 7+ | 分布式缓存、会话存储 | | **消息队列** | RabbitMQ | 异步任务、事件驱动 | | **搜索引擎** | Elasticsearch 8+ | 全文搜索、日志分析 | | **对象存储** | 阿里云 OSS | 文件、图片、视频存储 | ### 5.2 数据流向 ```mermaid graph LR App[前端应用] --> API[API服务] API --> PostgreSQL[(PostgreSQL)] API --> Redis[(Redis)] API --> RabbitMQ[(RabbitMQ)] API --> OSS[(对象存储)] Worker[后台任务] --> RabbitMQ Worker --> PostgreSQL Worker --> Redis Search[搜索服务] --> Elastic[(Elasticsearch)] Search --> PostgreSQL Analy[分析服务] --> PostgreSQL Analy --> Elastic ``` --- ## 六、部署架构 ### 6.1 环境划分 | 环境 | 用途 | 数据隔离 | |------|------|---------| | **开发环境** | 日常开发、调试 | 独立数据库 | | **测试环境** | 功能测试、集成测试 | 独立数据库(测试数据) | | **预发布环境** | 发布前验证 | 独立数据库(生产数据快照) | | **生产环境** | 正式对外服务 | 生产数据库 | ### 6.2 部署架构图 ```mermaid graph TB subgraph "CDN层" CDN[阿里云CDN] end subgraph "负载均衡层" SLB[阿里云SLB] end subgraph "应用层" WebPod1[Web Pod 1] WebPod2[Web Pod 2] WebPodN[Web Pod N] APIPod1[API Pod 1] APIPod2[API Pod 2] APIPodN[API Pod N] end subgraph "服务层" Redis[(Redis 主从)] RabbitMQ[(RabbitMQ 集群)] Elastic[(Elasticsearch 集群)] end subgraph "数据层" PostgreSQL[(PostgreSQL 主从)] OSS[(阿里云OSS)] end CDN --> SLB SLB --> WebPod1 SLB --> WebPod2 SLB --> WebPodN SLB --> APIPod1 SLB --> APIPod2 SLB --> APIPodN WebPod1 --> Redis WebPod1 --> APIPod1 WebPod2 --> Redis WebPod2 --> APIPod2 WebPodN --> Redis WebPodN --> APIPodN APIPod1 --> PostgreSQL APIPod1 --> Redis APIPod1 --> RabbitMQ APIPod1 --> OSS APIPod2 --> PostgreSQL APIPod2 --> Redis APIPod2 --> RabbitMQ APIPod2 --> OSS APIPodN --> PostgreSQL APIPodN --> Redis APIPodN --> RabbitMQ APIPodN --> OSS RabbitMQ --> Elastic PostgreSQL --> Elastic ``` ### 6.3 容器编排 使用 Kubernetes 进行容器编排,主要包括: - **Deployment**: 管理无状态应用 - **StatefulSet**: 管理有状态应用(数据库、Redis等) - **Service**: 服务发现和负载均衡 - **ConfigMap/Secret**: 配置管理 - **Ingress**: 外部访问入口 - **HPA**: 水平自动扩缩容 --- ## 七、演进路线 ### 7.1 第一阶段:单体应用 - 所有模块部署在同一个应用中 - 共享数据库和缓存 - 适合初期快速迭代 ### 7.2 第二阶段:服务拆分 - 将核心模块拆分为独立服务 - 用户服务、支付服务、订单服务等 - 服务间通过 API 或消息队列通信 ### 7.3 第三阶段:微服务架构 - 完全微服务化 - 每个服务独立部署、扩展 - 服务网格治理 - 链路追踪、熔断降级 --- > **文档维护**: 本文档由架构师维护,架构重大变更时更新 > **反馈渠道**: 如有问题,请提交 Issue 或联系架构师 > **最后更新**: 2026-05-25 > **文档状态**: 已发布