基于 Jamstack 的 SaaS 设计架构与多租户模型

一、为什么用 Jamstack 构建 SaaS? 在典型 SaaS 产品中,需求包含: 全球快速访问 & 高 SEO 友好 多租户隔离(租户 = 企业/组织/业务域) 用户身份认证与 RBAC 权限体系 内容管理 / 数据 CRUD 付费订阅、配额、用量计费 对接第三方 API(支付、AI、消息、Webhook …

一、为什么用 Jamstack 构建 SaaS?

在典型 SaaS 产品中,需求包含:

  • 全球快速访问 & 高 SEO 友好
  • 多租户隔离(租户 = 企业/组织/业务域)
  • 用户身份认证与 RBAC 权限体系
  • 内容管理 / 数据 CRUD
  • 付费订阅、配额、用量计费
  • 对接第三方 API(支付、AI、消息、Webhook 等)
  • 快速构建 + 自动化部署能力

Jamstack 在 SaaS 中带来的核心价值:

能力项Jamstack 解决方式
全球加速CDN Edge 分发
高并发能力静态资源无需服务器扩展
动态业务能力Serverless Functions + API
持续迭代Git Push → CI/CD 自动部署
安全无传统 Web Server 暴露面
成本静态站点托管成本低,可按调用量付费

因此,Jamstack 非常适合:

  • 落地页、营销页、文档、客户门户、控制台等典型 SaaS 模块
  • 以 API 为核心的 B2B SaaS、开发者工具、自动化平台
  • Headless SaaS(API + Admin UI + Frontend SDK)

二、多租户 (Multi-Tenant) 模型概述

SaaS 多租户架构的核心目标:

让多个客户共享系统,而彼此之间的数据、访问权限、计费逻辑严格隔离。

核心关注点:

维度建议内容
租户隔离数据库级 / Schema 级 / Row 级
身份认证JWT / Session / OAuth2 / OpenID Connect
权限策略RBAC / ABAC / Multi-level Permission
域名路由一级域名/子域名/路径映射租户
计费Stripe / Paddle / PayPal 按用量或订阅收费
审计与合规日志、追踪、驻留地(GDPR/中国数据合规)

三、三种 Jamstack 多租户架构模型

模型 A:前端共享 + API 多租户隔离(推荐)

CDN Cached Static App
       │
       ▼
Browser SPA
       │ calls
       ▼
Serverless API → Multi-tenant DB

适合:B2B SaaS Dashboard、控制台、开发者平台

特点:

优点说明
极简部署单一前端应用共享
良好扩展后端 API 可横向扩展
高频更新友好页面不受租户差异影响

模型 B:租户级静态渲染(SSG / ISR)

Build System →
  Generates tenant pages →
    CDN distributes different static snapshots

适合:多租户 CMS、Docs、知识站点、门户网站

核心逻辑:

  • 构建时为每个租户生成专属静态页面
  • 配合 ISR(Incremental Static Regeneration)进行部分动态更新

模型 C:租户独立前端(适合企业级)

每个租户运行自己的前端实例:

tenant1.saas.com → CDN → Frontend Build #1
tenant2.saas.com → CDN → Frontend Build #2

适合:

  • 需要独立 UI/主题/定制功能的 Enterprise SaaS
  • 允许私有化部署或单租户版

缺点:构建成本增加

四、租户识别与路由策略

模式示例优点
子域名模式acme.saas.com主流 B2B SaaS 模式,高识别度
路径模式saas.com/t/acme部署简单,与免费托管兼容性强
独立域名 CNAMEcustomer-domain.comtenant.saas.com提升品牌体验,适合付费/高级版

建议使用:

{tenant}.yourSaaS.com

解析租户来源方式:

  • 根据 Host 分析租户
  • 或 URL 路径:/t/{tenantId}
  • JWT 中附带 tenant_id 做二次校验

五、数据隔离模型

模型适用场景
Row-based 行级隔离中小 SaaS,最常用
Schema-based 架构隔离中大型 SaaS,强隔离
Database per tenant企业、公有云/私有化部署

常见字段:

tenant_id (UUID/KSUID/Snowflake)
user_id
role
plan (free/pro/business/enterprise)

数据库推荐:

  • Postgres(主推,支持 JSONB、行级权限)
  • MySQL / TiDB / PlanetScale
  • Serverless D1 / Turso(边缘数据库)

六、API & Serverless 后端设计

推荐 API 结构:

/api/v1/auth
/api/v1/tenant
/api/v1/users
/api/v1/billing
/api/v1/webhook
/api/v1/audit

Serverless 最佳选择:

提供商适合理由
Vercel Functions最佳 Jamstack 搭档,支持 Edge
Cloudflare Workers全球超低延迟,适合全球 SaaS
Netlify Functions简单易用
AWS Lambda企业级、与 AWS 集成良好

七、计费、订阅与用量监控(Billing & Metering)

常见 Billing 方案:

类型说明
Subscription |月/年付费等级(Free、Pro、Enterprise)
Usage-based |按 API 调用量 / 存储 / 数据行数计费
Seat-based |按成员数量计费(典型 SaaS 模型)

常见支付方案:

  • Stripe(国际 SaaS 标准)
  • Paddle(含税务代理,适合欧盟/英国)
  • PayPal(备选)
  • 中国支付需适配微信/支付宝

八、参考架构拓扑

                           ┌────────────────────┐
                           │   Git Repository    │
                           └─────────▲──────────┘
                                     │
                                     │ CI/CD
                                     │
                            ┌────────┴─────────┐
                            │ Static Build/SSG  │
                            └─────────▲────────┘
                                      │ Upload
                                      ▼
         ┌───────────────────────────────────────────────┐
         │                   CDN/Edge                    │
         └───────▲───────────────────────────────────▲──┘
                 │                                   │
             Browser SPA/SSR (Next/Nuxt/Astro)       │
                 │                                   │
                 └───────────calls───────────────────┘
                        Serverless API Layer
                        /auth  /tenant /billing
                         │
                      Multi-tenant DB

九、最佳实践建议

✔ 推荐技术栈

推荐
前端Next.js / Nuxt / Astro
InfraVercel / Netlify / Cloudflare Pages
DBPostgres / MySQL / Serverless DB
AuthAuth0 / Clerk / Supabase Auth / Cognito
BillingStripe / Paddle

✔ 安全策略

  • 所有请求必须包含 tenant_id
  • RBAC + API Permission Matrix
  • 审计日志 + 行为追踪
  • 数据加密、GDPR/PIPL 合规要求

✔ 提升性能

  • Edge Rendering / Edge KV 缓存
  • ISR(增量静态更新)
  • 分块构建与按租户增量发布

结语

基于 Jamstack 的 SaaS 架构不仅能显著降低成本,还能带来:

  • 全球极速访问
  • 默认高安全性
  • 可插拔 API 扩展能力
  • 极简运维,无服务器管理压力
  • 适合个人/团队/Startup 快速推出 MVP

Jamstack + 多租户 SaaS 非常适合以下方向:

  • AIGC 工具型 SaaS
  • API 产品型 SaaS(DevTools / 平台接口)
  • 文档/知识/团队协作 SaaS
  • 内容电商 / Headless Commerce
  • Web 数据仪表盘与 BI

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页