搭建 Serverless 架构

✅ 一、理解 Serverless 架构核心概念

核心理念:

  • 无需管理服务器:只需编写业务逻辑,部署后由云平台托管运行环境。

  • 事件驱动(Event-driven)

  • 按需计费(按调用次数/资源消耗)

  • 高可扩展性与自动伸缩

常见组件:

类型 AWS服务 说明
计算 Lambda 核心函数服务
网关/API API Gateway 将 HTTP 请求转发给 Lambda
消息/队列 SQS / SNS / EventBridge 异步触发/事件总线
存储 S3 / DynamoDB 文件存储 / NoSQL 数据库
身份认证 Cognito / IAM 用户认证鉴权
DevOps CloudFormation / CDK 基础设施即代码(IaC)

️ 二、实战环境准备

  1. 注册 AWS 账号(推荐使用 Free Tier)

  2. 安装和配置 AWS CLI:

    aws configure
    
  3. 安装 Serverless Framework(Node.js 环境):

    npm install -g serverless
    serverless config credentials --provider aws --key YOUR_KEY --secret YOUR_SECRET
    

️ 三、入门实战项目示例:构建一个 Serverless API 服务

场景:留言板 API(支持 POST / GET)

1. 目录结构:
serverless-message-board/
├── handler.py
├── serverless.yml
2. handler.py
import json

def create_message(event, context):
    body = json.loads(event["body"])
    message = body.get("message", "No message")
    return {
        "statusCode": 200,
        "body": json.dumps({"msg": "Message received", "content": message})
    }

def get_message(event, context):
    return {
        "statusCode": 200,
        "body": json.dumps({"msg": "Here is a message", "content": "Hello, Serverless!"})
    }
3. serverless.yml
service: message-board-api

provider:
  name: aws
  runtime: python3.9
  region: ap-northeast-1

functions:
  createMessage:
    handler: handler.create_message
    events:
      - http:
          path: message
          method: post
  getMessage:
    handler: handler.get_message
    events:
      - http:
          path: message
          method: get
4. 部署服务:
sls deploy
5. 调用测试:
curl -X POST https://your-api-id.execute-api.aws-region.amazonaws.com/dev/message \
     -H "Content-Type: application/json" \
     -d '{"message": "Hello GPT!"}'

搭建完成

你可能感兴趣的:(aws,学习,云计算)