创建微服务

已发行

本章内容概览:

  • 开发哲学
  • 构建单服务开发环境
  • Node.js 与 Express 基础
  • 微服务配置
  • 开发模式与生产模式

2.1 开发哲学

  • 迭代开发:小步迭代,及时获得反馈
  • 保持代码始终可运行:在小的、易于测试的代码增量中工作
  • 从简到繁:从最简单的代码开始,逐步迭代

2.2 构建单服务开发环境

本章构建首个微服务——一个简单的 HTTP 服务器,提供视频流服务。这是 FlixTube 应用的起始步骤。

图 2.1 第 2 章中的单服务开发环境示意图
图 2.1 第 2 章中的单服务开发环境示意图

所需工具:

  • Git 2.36.1:版本控制
  • Node.js 18.17.1:运行微服务
  • Visual Studio Code 1.81.1:代码编辑

选择 Node.js 的理由:

  • 高性能:创建小型、高效、轻量的服务
  • 广泛的生态系统:庞大的支持社区
  • 全栈开发:JavaScript 支持前后端
  • npm 包管理器:超过 260 万个现成代码库

2.3 构建视频流 HTTP 服务器

图 2.2 Web 浏览器通过 /video 路由与我们的微服务交互
图 2.2 Web 浏览器通过 /video 路由与我们的微服务交互

实现步骤:

  1. 创建 Node.js 项目
  2. 安装 Express 并创建 HTTP 服务器
  3. 添加 /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 包装和发布微服务。

创建于 2026/01/06 更新于 2026/01/06 799 字 阅读约 2 分钟

提交勘误/建议