创建微服务
已发行
本章内容概览:
- 开发哲学
- 构建单服务开发环境
- Node.js 与 Express 基础
- 微服务配置
- 开发模式与生产模式
2.1 开发哲学
- 迭代开发:小步迭代,及时获得反馈
- 保持代码始终可运行:在小的、易于测试的代码增量中工作
- 从简到繁:从最简单的代码开始,逐步迭代
2.2 构建单服务开发环境
本章构建首个微服务——一个简单的 HTTP 服务器,提供视频流服务。这是 FlixTube 应用的起始步骤。

所需工具:
- Git 2.36.1:版本控制
- Node.js 18.17.1:运行微服务
- Visual Studio Code 1.81.1:代码编辑
选择 Node.js 的理由:
- 高性能:创建小型、高效、轻量的服务
- 广泛的生态系统:庞大的支持社区
- 全栈开发:JavaScript 支持前后端
- npm 包管理器:超过 260 万个现成代码库
2.3 构建视频流 HTTP 服务器

实现步骤:
- 创建 Node.js 项目
- 安装 Express 并创建 HTTP 服务器
- 添加 /video 路由处理程序
项目结构:
package.json:跟踪项目依赖及元数据package-lock.json:锁定依赖项确切版本node_modules:npm 安装的依赖项src/index.js:应用入口点
Express 框架:
Express 是 Node.js 上构建 HTTP 服务器的事实标准框架,提供更高层次的抽象和更少的代码。
微服务配置:
通过环境变量配置(如端口号),访问 process.env 对象。好处包括:
- 同时运行多个服务实例(不同端口)
- 传递敏感数据(如数据库密码)
2.4 设置生产环境
生产环境准备:
npm install --omit=dev
省略开发依赖项,只安装生产所需依赖。
标准启动命令:
"scripts": {
"start": "node src/index.js"
}
使用 npm start 是启动 Node.js 应用的通用方法。
实时重新加载:
安装 nodemon 工具实现开发时自动重启:
"scripts": {
"start": "node src/index.js",
"start:dev": "nodemon src/index.js"
}
npm start:生产模式npm run start:dev:开发模式,支持实时重新加载
总结
- 开发理念:迭代、保持运行、从简单做起
- Node.js 专为网络应用设计,创建微服务简单
- Express.js 是事实上的标准 Web 服务器框架
- 视频流服务是 FlixTube 应用的核心功能
- 支持开发模式(nodemon 实时重载)和生产模式
- 环境变量是微服务配置的标准方法
接下来将学习使用 Docker 包装和发布微服务。