📚 后端开发全景指南:餐厅经营游戏
📦 基本流程(无数据库)
- 客户端:手机、电脑、浏览器等
- 服务器:后端程序,24/7 在线等待处理请求,部署之后在某个真的服务器上运行
- ⚙️ 虚拟化技术:Docker/K8s 将物理服务器变为多个逻辑服务
- 🌐 边缘计算/CDN:服务器可能离你很近
- ⚡ 无服务器(Serverless):代码按需执行,不需一直运行
🔄 完整流程(含数据库)
- 数据库访问在 Service 层 或 Repository/DAO 层
- 业务处理包括权限校验、数据聚合等
🛠️ 数据库工具链
-
ORM(对象关系映射):不写 SQL,用对象操作数据库
- Node.js:TypeORM、Sequelize
- PHP:Doctrine
- Python:Django ORM
- Java:Hibernate
-
查询构造器(Query Builder):链式 API,轻量 SQL
- Node.js:Knex.js
- PHP:Doctrine DBAL、Laravel Query Builder
-
迁移工具(Migrations):用代码管理数据库结构
- Alembic(Python)、Doctrine Migrations(PHP)、Flyway(Java)、Prisma Migrate(Node.js)
-
连接池/客户端:提高数据库连接效率
- HikariCP(Java)、pgBouncer(PostgreSQL)、mysql2(Node.js)
🧩 典型工作流示例(以 Doctrine 为例)
🗂️ 项目结构对比
裸项目示例
bare-backend/
├── app/ # 应用代码
│ ├── entrypoint.js
│ ├── server.js
│ ├── router.js
│ ├── controllers/
│ ├── services/
│ └── models/
├── config/
├── public/
├── scripts/
├── tests/
└── package.json