以下是关于 Serverless 的基本知识点总结:
 
 
一、Serverless 核心范式
 
1. 核心特征矩阵
 
| 特征 | 说明 | 核心价值 | 
|---|
| 事件驱动 | 按需触发(HTTP/消息/存储事件等) | 零闲置资源消耗 | 
| 自动伸缩 | 毫秒级扩容/缩容到零 | 极致弹性能力 | 
| 按需计费 | 按实际执行资源+时间计费 | 成本精细化管理 | 
| 无状态 | 临时执行环境(最大15分钟) | 轻量化快速启动 | 
 
2. 平台对比
 
| 维度 | AWS Lambda | Vercel (Serverless) | 
|---|
| 定位 | 通用函数计算平台 | 前端优先的 Serverless 托管 | 
| 冷启动 | 约100ms-2s | 优化后 <300ms | 
| 部署单位 | 函数级别 | 项目级别(自动路由) | 
| 生态整合 | 深度集成AWS服务 | Next.js/Nuxt等前端框架优先 | 
| 计费粒度 | 按请求数+执行时间+内存 | 按构建次数+函数执行量 | 
 
 
二、基础开发流程
 
1. AWS Lambda 快速入门
 
exports.handler = async (event) => {const name = event.queryStringParameters?.name || 'World';return {statusCode: 200,body: JSON.stringify({ message: `Hello ${name}!` })};
};
Resources:HelloFunction:Type: AWS::Serverless::FunctionProperties:CodeUri: ./srcHandler: handler.handlerRuntime: nodejs18.xEvents:HelloAPI:Type: Api Properties:Path: /helloMethod: GET
 
2. Vercel 函数示例
 
export default function handler(req, res) {const { name = 'World' } = req.query;res.status(200).json({ message: `Hello ${name}!` });
}
 
vercel --prod
 
 
三、进阶开发技巧
 
1. 性能优化方案
 
| 策略 | AWS Lambda 实现 | Vercel 优化 | 
|---|
| 冷启动优化 | 使用 Provisioned Concurrency | 优先使用Edge Network | 
| 内存配置 | 调整内存(直接影响CPU分配) | 自动优化无需配置 | 
| 持久连接 | 初始化外部连接在Handler外部 | 利用Vercel Cache | 
| 代码精简 | 使用Layer分离依赖 | 自动Tree Shaking | 
 
2. 状态管理方案
 
const redis = require('redis');
const client = redis.createClient();let cachedClient;async function connect() {if (cachedClient) return cachedClient;cachedClient = await c