1. 什么是 Node.js?(JavaScript 服务器环境)
1.1 Node.js 定义
Node.js 是一个 基于 Chrome V8 引擎的 JavaScript 运行环境,用于运行 JavaScript 代码,特别适合 服务器端开发。
特点:
✅ 非阻塞(异步 I/O) → 处理高并发请求更高效。
✅ 事件驱动 → 采用 Event Loop 机制,无需创建多个线程。
✅ 单线程 → 适用于 I/O 密集型应用(如 Web 服务器、API)。
✅ npm(Node Package Manager) → 内置 npm,可安装丰富的第三方库。
1.2 企业中的 Node.js 应用
📌 案例 1:企业级 Web 服务器
场景:公司需要一个 快速响应的 Web 服务器,用于提供 REST API。
解决方案:使用 Node.js + Express.js 创建一个 HTTP 服务器。
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello, World!\n');
});
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
✅ 企业价值:高性能、支持大规模并发访问。
📌 讲义示例
讲义中的 API 服务器示例:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
💡 讲义中的示例展示了如何使用 Node.js 结合 Express.js 创建 API 服务器。
3. 什么是 API 路由?(定义 API 访问路径)
3.1 API 路由定义
API 路由 指的是 定义 URL 访问规则,让前端或第三方系统可以正确访问 API。
特点:
✅ 清晰的 URL 设计 → 避免 /getUser
这种不规范的写法。
✅ 基于资源的 RESTful 路由 → /users/:id
获取特定用户数据。
✅ 参数化 URL → 例如 /users/:id/orders
获取某个用户的订单。
3.2 企业中的 API 路由应用
📌 案例 3:订单管理 API
场景:公司需要提供 订单管理 API,前端应用调用以查询和创建订单。
解决方案:使用 Express.js 定义清晰的 API 路由。
const express = require('express');
const app = express();
app.use(express.json());
let orders = [{ id: 1, user: 'Alice', total: 50 }];
// 获取所有订单
app.get('/orders', (req, res) => {
res.json(orders);
});
// 获取指定订单
app.get('/orders/:id', (req, res) => {
const order = orders.find(o => o.id == req.params.id);
order ? res.json(order) : res.status(404).json({ error: '订单不存在' });
});
// 创建新订单
app.post('/orders', (req, res) => {
const newOrder = { id: orders.length + 1, ...req.body };
orders.push(newOrder);
res.status(201).json(newOrder);
});
app.listen(3000, () => {
console.log('API 服务器运行在 http://localhost:3000');
});
✅ 企业价值:RESTful API 设计,前端、APP、合作方可调用相同 API 访问订单数据。
📌 讲义示例
GET /api/users
GET /api/users/:id
POST /api/users
PUT /api/users/:id
DELETE /api/users/:id
💡 企业 API 设计时,应该遵循 RESTful 路由设计,避免 /getUser
这样的不规范路径。
4. 什么是反向代理?(负载均衡和安全优化)
4.1 反向代理定义
反向代理(Reverse Proxy) 是 位于客户端和服务器之间的代理服务器,用于提高性能、安全性、负载均衡。
特点:
✅ 隐藏后端服务器 → 提供统一入口,保护真实服务器 IP。
✅ 负载均衡 → 把请求分配到不同服务器,减少单台服务器压力。
✅ SSL 终止 → 代理服务器处理 HTTPS,减少应用服务器计算压力。
4.2 企业中的反向代理应用
📌 案例 4:Nginx 负载均衡
场景:企业需要高并发 API 服务器,防止单点故障。
解决方案:使用 Nginx 作为反向代理,分发请求到多个服务器。
Nginx 配置:
server {
listen 80;
location /api/ {
proxy_pass http://backend_servers;
}
}
upstream backend_servers {
server backend1.example.com;
server backend2.example.com;
}
✅ 企业价值:分流流量,提高系统稳定性,防止服务器崩溃。
📌 讲义示例
ifn666.com {
handle /locallib/* {
reverse_proxy localhost:3000
}
handle /carhire/* {
reverse_proxy localhost:3005
}
}
💡 示例展示了如何使用反向代理分发流量,提升后端 API 服务器性能。
总结
概念 | 作用 |
---|---|
Node.js | 运行 JavaScript 服务器代码 |
Express.js | Node.js Web 框架,简化 API 开发 |
API 路由 | 设计清晰的 RESTful API 路由 |
反向代理 | 提供负载均衡、隐藏服务器 |
你可以尝试:
✅ 用 Express.js 创建 REST API
✅ 配置 Nginx 反向代理