Skip to content

后端技术

后端模块关注 API 服务、数据库设计、服务端框架、桌面端后端能力和系统架构实践。当前内容以 Node.js、Koa、Sequelize、Rust/Tauri、API 设计和数据库设计为主。

模块导航

主题内容适用场景
Express 与 Koa 对比框架设计差异、中间件模型、选型建议Node.js Web 框架选型
Koa 2 开发指南项目结构、路由、中间件、数据库连接搭建轻量 API 服务
Sequelize ORM模型定义、关联关系、迁移和查询关系型数据库业务开发
Tauri 2.0Tauri 基础、命令、配置、桌面端能力构建跨平台桌面应用
Tauri + Vue前后端集成、Vite 配置、调用 Rust 命令Vue 桌面应用开发
API 设计最佳实践REST 规范、错误码、认证、文档、版本管理对外或团队内部 API 规范化
数据库设计表结构、索引、事务、范式、性能优化设计稳定可扩展的数据层

后端设计主线

一个可维护的后端系统通常由四层组成:

  1. 接入层:处理路由、认证、参数校验、限流和跨域。
  2. 业务层:封装业务规则,避免把复杂逻辑散落在路由处理函数中。
  3. 数据层:负责 ORM、SQL、缓存、事务和数据一致性。
  4. 基础设施层:日志、监控、配置、队列、定时任务和部署能力。

推荐项目结构

text
src/
  app.js               # 应用入口和中间件装配
  config/              # 环境配置
  routes/              # 路由定义
  controllers/         # 请求参数处理和响应组织
  services/            # 业务逻辑
  models/              # ORM 模型
  repositories/        # 数据访问封装,可按项目复杂度决定是否需要
  middlewares/         # 认证、错误处理、日志等中间件
  validators/          # 参数校验规则
  utils/               # 通用工具

API 开发清单

  • 路径使用名词复数:例如 /users/orders
  • 使用 HTTP 方法表达动作:GET 查询、POST 创建、PUT/PATCH 更新、DELETE 删除。
  • 响应结构保持一致:成功、失败、分页、空数据都有固定格式。
  • 参数校验前置:不要把未校验数据传入业务层或数据库层。
  • 错误码可定位:业务错误、权限错误、参数错误和系统错误要区分。
  • 接口文档同步:字段含义、示例、错误响应和鉴权方式要明确。

数据库设计清单

  • 主键、唯一约束、外键或逻辑关联要在设计阶段明确。
  • 高频查询字段建立索引,但避免无依据地堆叠索引。
  • 金额、库存、状态流转等关键数据需要事务保护。
  • 删除策略要统一:物理删除、软删除、归档表不要混用。
  • 表字段要表达业务含义,避免过度使用 json 字段承载核心关系。
  • 迁移脚本要能重复审查和回滚,生产库变更必须可追踪。

安全基线

  • 所有入口参数都要校验和归一化。
  • 密码只存哈希值,不存明文。
  • 鉴权和授权分开处理:登录成功不代表拥有所有资源权限。
  • 敏感配置放在环境变量或密钥管理系统中,不提交到仓库。
  • 日志避免输出 token、密码、身份证、手机号等敏感信息。
  • 对登录、短信、导出、批量操作等高风险接口增加限流或审计。

交付前检查

bash
npm run test
npm run lint
npm run build

后端项目还应补充接口自测、数据库迁移验证、关键日志检查和生产环境配置核对。