技术文档集成、部署与运维

集成、部署与运维

2026-10-14 核对:以下为维护和发布约定,本轮未连接线上、未执行迁移或部署。源码默认地址及 dev profile 不等于隔离测试环境。

1. 域名与服务映射

入口当前服务关键依赖
www.afuspa.com官网、协议、业务看板、网页学习静态托管、HTTPS、H5 发布
docs.afuspa.comRspress 文档中心静态构建、搜索、HTTPS
api.afuspa.com小程序与业务 APINginx、spa-backend:8089、RDS、Redis、微信
feilun.afuspa.com飞轮前端与中台 APINginx、静态 dist、spa-feilun-backend:8088
image.afuspa.com商品、项目、活动和门店图片OSS、可选 CDN、HTTPS
jenkins.afuspa.com持续交付入口Nginx、Jenkins :8081、构建凭证

域名变更会同时影响 Nginx、证书、微信合法域名、CORS、页面 API 基址、监控和发布文档,应作为一次完整变更处理。

2. 外部系统集成

微信登录

  • 小程序客户端只传 wx.login 获取的一次性 code;
  • 后端负责与微信换取会话、映射会员和签发业务 JWT;
  • 微信密钥只存在生产安全配置;
  • 登录失败记录微信错误码和内部 requestId,不向客户端返回密钥或原始敏感响应。

微信支付与退款

  • 后端创建预支付参数,小程序拉起 wx.requestPayment;
  • 支付回调验签、幂等更新支付单和业务订单;
  • 客户端主动查询用于恢复展示,不替代支付回调;
  • 退款申请、微信退款、结果同步和失败补偿形成完整状态链;
  • 每日或按运营要求执行对账,差异进入异常处理。

OSS 与图片服务

  • 原始文件进入 OSS,数据库保存对象键、类型、大小、版本和访问地址;
  • 上传校验文件类型、大小和业务归属;
  • 公共图可通过 HTTPS/CDN,敏感文件使用受控访问;
  • 建立失效资源清理、防盗链和备份策略;
  • 小程序配置 image.afuspa.com 合法下载域名。

历史有赞与内部 ERP

  • 有赞作为迁移期历史数据来源,按会员、资产、项目、订单和支付分批核对;
  • 迁移任务记录来源批次、去重规则、字段映射、校验结果和回滚方案;
  • ERP 主要用于商品/库存协同,明确主数据方向和失败补偿;
  • 避免新旧系统同时修改同一核心数据,完成验收后只读或归档。

共享核心、分析与网页学习

  • 券、体验升级和培训变更先核对双后端共享核心版本与契约,再完成迁移、后端及对应界面发布。
  • spa-analytics 独立部署 Flink、ClickHouse 和宿主分析 API;前端 /analytics-api 与业务 /api 分流。源配置、权限票据、字段清单、保存点和报表就绪状态需分别核对。
  • 新增采集表或源结构变化按 manifest 与正式迁移检查,保留旧 JAR、旧范围和恢复证据。首次失败不自动重复全量,不能删除状态文件绕过门禁。
  • 网页培训先完成培训网页迁移、共享核心和双后端、H5及根 /api/training-web/ 代理,再开入口;Redis 版本及一次性凭证处理按既有方案验证。未齐备时关闭入口。
  • 一次性链接、网页 token、分析票据和密码不得记录到普通日志;本地构建可能带入本机忽略配置,打包前核对实际配置来源。

3. 环境与配置

至少区分开发、测试和生产:

配置隔离要求
数据库与 Redis不共用生产实例、账号或默认库
微信 AppID/密钥测试与生产分别配置,权限最小化
微信支付商户与证书测试不得调用真实生产扣款配置
域名与 CORS只允许当前环境必要来源
OSS Bucket/目录防止测试文件覆盖生产对象
日志与告警标注环境,避免测试告警污染生产值班

配置通过环境变量或安全配置文件注入。示例文件只能包含变量名和非敏感默认值。

4. 构建与交付链路

GitHub 提交
  -> Jenkins/人工触发
  -> Maven 或 npm 构建与测试
  -> 生成 JAR / dist / doc_build
  -> 08-ops 部署脚本
  -> Nginx 与应用健康检查
  -> 发布验证
  -> 失败自动/人工回滚
组件构建产物发布位置/方式
小程序微信小程序代码包微信开发者工具/平台审核发布
小程序后端JARspa-backend:8089,发布前备份旧包
飞轮前端dist飞轮 Nginx 静态目录
飞轮后端JARspa-feilun-backend:8088,发布前备份旧包
H5dist官网 /docs/ 静态目录
文档中心doc_builddocs.afuspa.com 静态目录
数据库版本化 SQL备份后按顺序执行并运行验证 SQL
共享核心Maven 核心包双宿主一致版本并回归
独立分析CDC JAR、分析 API、Compose、CK 模型按独立部署 README 核对迁移、采集及恢复

5. 发布前检查

应用

  • 代码已评审,目标分支和提交号明确;
  • 前端完成格式、类型和生产构建;
  • 后端完成自动化测试和 JAR 构建;
  • 新增 API 已配置鉴权、权限、数据范围、错误码和审计;
  • 小程序、H5、飞轮与后端契约版本兼容。

数据库

  • SQL 明确执行顺序、影响表、预计耗时和锁表风险;
  • 生产数据已备份并可定位恢复点;
  • 变更脚本支持重复执行或有明确防重复检查;
  • 大表更新分批执行,禁止在高峰期无评估全表改写;
  • 变更后运行结构、数据量和关键业务校验。

基础设施

  • 域名、DNS、证书、Nginx 和端口配置匹配;
  • 磁盘、内存、连接池和数据库容量有余量;
  • CORS、微信合法域名、OSS 权限和回调地址已配置;
  • 监控、告警、日志目录和备份任务正常。

6. 发布后验证

按影响范围执行冒烟:

  1. 首页和健康入口可访问;
  2. 小程序登录、会员、预约和订单查询正常;
  3. 涉及支付时验证预支付、回调、查询和异常恢复;
  4. 飞轮登录、菜单、权限和一个核心查询正常;
  5. 服务看板、团长经营台跨域调用和刷新正常;
  6. 数据库连接、Redis、OSS 和后台任务无异常;
  7. 应用日志无持续 5xx、SQL 异常或权限放大;
  8. 记录发布版本、时间、操作者、验证结果和回滚点。

7. 日志与监控

监控对象关键指标/事件
Nginx4xx/5xx、延迟、流量、证书到期
小程序后端登录、预约、支付、退款、请求错误率和线程/连接池
飞轮后端登录、查询、导出、后台任务、慢接口和权限拒绝
MySQL可用性、连接数、慢查询、锁等待、存储和备份
Redis可用性、内存、连接、过期和命中率
OSS上传失败、访问错误、存储和下行流量
业务支付回调积压、退款失败、库存差异、资产异常、任务失败

日志至少关联:环境、服务、时间、请求路径、requestId、操作者、门店、业务主键和结果。日志不得记录完整密码、令牌、支付证书、云密钥或非必要的完整手机号。

8. 备份与恢复

数据库

  • 至少每日自动备份核心数据库;
  • 重要发布前增加手工恢复点;
  • 备份文件与生产实例分离保存,配置保留周期;
  • 定期在隔离环境执行恢复,并验证表结构、数据量和关键业务;
  • 恢复演练记录恢复时间、数据损失窗口和未通过项。

应用与配置

  • 后端部署前保存当前 JAR 和 SHA-256;
  • Nginx、systemd/启动配置和环境变量模板纳入版本管理;
  • 生产密钥只备份到安全系统,不进入普通压缩包或代码仓库;
  • 静态站保留可快速切换的上一版本产物。

9. 故障处理路径

用户报错/监控告警
  -> 收集时间、入口、账号范围、业务主键和 requestId
  -> 判断 Nginx / 应用 / 数据库 / 外部渠道
  -> 控制影响(限流、停止任务、回滚或切换只读)
  -> 修复并验证核心链路
  -> 对账和数据补偿
  -> 复盘并更新监控、测试和文档

对于支付、退款、会员资产和库存问题,先停止重复人工操作,再通过权威流水和渠道结果对账。不得直接修改最终状态来“消除页面报错”。

10. 运维与费用决策

以下能力按实际风险和规模评估,不预先假设必须采购:

  • CDN:图片下行流量和跨地域访问明显增长时;
  • Redis 扩容/高可用:会话、热点缓存或分布式协调成为关键依赖时;
  • WAF/安全服务:公网攻击、合规或暴露面要求提高时;
  • 已有 Flink/ClickHouse 分析组件扩容:依据采集延迟、内存、查询量和恢复证据评估;
  • 负载均衡与多实例:单机容量、发布可用性或故障恢复目标无法满足时;
  • 跨区备份/灾备:业务可接受的数据损失窗口和恢复时间要求收紧时。

每项采购应记录目标、当前瓶颈、容量证据、年度成本、验收指标和退出条件。

11. P0 运维基线

  • 正式域名 HTTPS 和证书到期提醒;
  • 核心 API、支付回调、退款和后台任务错误日志及告警;
  • 数据库每日备份和可验证恢复;
  • 支付、退款、会员资产、库存、推广归因的幂等、对账和补偿;
  • 总部、门店、角色和本人数据范围隔离;
  • 开发、测试、生产配置隔离;
  • 密码、证书和云密钥从代码仓库、部署脚本明文和普通文档中移除。

技术文档

本篇目录