Serverless 三剑客:独立游戏工作室的零元后端搭建指南
日期:2026-05-01 标签:Serverless · Supabase · Upstash · QStash · 游戏后端 · 独立开发者 · 免费
我有个朋友,2023 年底开始做独立游戏。
他之前在一家游戏公司上班,服务器是运维搭的,他只管写逻辑。离职创业之后,他才发现后端是另一个世界——云服务器要租,数据库要维护,Redis 要配置,消息队列要搭建,这些东西每一个都有学习成本,每一个都要钱。第一个月,他在后端基础设施上花了将近 4000 块,其中一半是云服务费用,一半是踩坑的学费。
他说,那段时间最怕听到的一句话就是:"服务器好像又卡了。"
后来,他换了架构,用了三个零成本的服务。第二个月,他的后端账单是 2.2 美元(因为流量超出了免费额度)。
这个故事里的三个服务,就是今天的的主题:Serverless 三剑客——Supabase、Upstash Redis、QStash。
什么是 Serverless 三剑客
简单理解:
- Supabase 是你的"数据库",它存所有你需要持久保存的东西——玩家账号、存档数据、排行榜、工坊内容。它基于 PostgreSQL,功能强大,但它的本质是"有人帮你运维的 PostgreSQL"。
- Upstash Redis 是你的"加速层",它让频繁访问的数据读取速度从毫秒级降到亚毫秒级,同时帮你挡住异常流量,防止服务器崩溃。它是基于 Redis 但不需要自己管理连接。
- QStash 是你的"任务调度中心",耗时操作(导出存档、发送邮件、定时重置)不在玩家的请求流程里执行,而是交给它按顺序处理,玩家不需要等待。
三者协同的标准流程是这样的:
玩家点击"导出存档"
↓
Upstash 限流检查(有没有人刷请求?)
↓
Supabase 查存档数据(加密的、隔离的、安全的)
↓
QStash 接过任务("这个文件要生成,我去后台处理")
↓
立刻返回玩家:"正在处理,稍后会通知你"
↓
后台慢慢生成文件,生成完 Supabase Storage 存好
↓
Supabase Realtime 推送通知给玩家:"可以下载了"
在这个流程里,玩家感受到的响应时间是毫秒级——因为服务器没有在等那个耗时的生成过程。
为什么是这三个,而不是别的
市场上有很多可选方案。Firebase、AWS Amplify、PlanetScale、Railway……每一个都有人吹。
三剑客的独特价值在于两点:
第一:三件事各有专长,没有功能重复
Firebase 是"大而全",但它的数据库是 NoSQL(文档型),对于需要复杂查询的游戏场景(排行榜、成就统计、玩家数据关联分析)来说,SQL 的能力是不可替代的。Supabase 用的是 PostgreSQL,是关系型数据库,功能比 NoSQL 强大得多。
Upstash 解决的是"Serverless 函数的连接管理"这个根本问题——其他缓存服务(比如阿里云 Redis)在这个场景下要么需要额外配置连接池,要么干脆不支持 Serverless。
QStash 解决了"消息队列太重"的问题——RabbitMQ 需要运维,AWS SQS 配置复杂,QStash 只需要三行代码就能把一个 API 端点变成消息消费者。
第二:三者都是同一个公司生态,集成自然
Upstash 和 QStash 都是 Upstash 公司出的,Supabase 虽然是独立公司,但和 Upstash 有官方集成文档和 SDK。三者之间的数据流很自然,不需要额外的适配层。
独立游戏工作室的真实使用场景
场景一:Steam 游戏发售(Upstash 限流)
游戏在 Steam 发售,KOL 转发带来瞬间流量——如果没有限流,10000 个请求同时进来,你的 Supabase 直接卡死,所有玩家全部超时。
Upstash 限流在网关层把异常请求拦截:
import { Ratelimit } from "@upstash/ratelimit";
import { Redis } from "@upstash/redis";
const ratelimit = new Ratelimit({
redis: Redis.fromEnv(),
limiter: Ratelimit.slidingWindow(200, "10 s"), // 10秒内最多200请求
analytics: true,
});
export async function handler(req) {
const { success } = await ratelimit.limit(req.headers.get("x-forwarded-for"));
if (!success) {
return new Response("Too many requests", { status: 429 });
}
// ... 正常处理请求
}
这个限流逻辑运行在 Upstash 的边缘节点上,不需要在你的服务器上运行,也不需要额外的服务器来承载。全球各地的玩家请求都会被拦截,超限的玩家收到 429 响应,而不是让你的游戏服务器崩溃。
场景二:玩家数据存档(Supabase)
玩家在游戏里按了保存,这个数据要存到 Supabase:
create table player_saves (
id uuid default gen_random_uuid() primary key,
user_id text not null,
slot integer not null default 1,
game_data jsonb not null,
level_reached integer default 1,
playtime_seconds bigint default 0,
updated_at timestamptz default now()
);
alter table player_saves enable row level security;
create policy "Players access own saves"
on player_saves for all
using (auth.jwt() ->> 'steam_id' = user_id);
每行数据独立加密,只有玩家自己可以读写——即使有一天 Supabase 出了安全事故,也不会有玩家的存档数据泄露。
场景三:大版本更新通知(QStash)
游戏有大版本更新,需要给所有活跃玩家发推送通知。2 万个玩家,用 QStash 批量发送,每封通知都是独立的异步任务,失败自动重试,不需要你的服务器去管理一个复杂的发送队列:
const players = await supabase.from("players").select("id");
for (const { id } of players.data) {
await qstash.publishJSON({
url: "https://yourgame.com/api/notify",
body: { userId: id, title: "大版本更新", content: "..." },
delay: Math.floor(Math.random() * 300), // 5分钟内随机延迟,均衡发送
});
}
这些通知在后台发送,你的服务器只需要接受 QStash 的回调,QStash 负责管理重试、失败通知和发送记录。
免费版够用吗,什么时候升级
免费版够用的场景:Early Access 阶段,玩家数量在 1 万以内的独立游戏,三个服务的免费额度基本够用。
需要升级的信号:
- Supabase:500MB 数据库快存满了,或者需要自定义域名和 SSL → 升级到 $25/月的 Pro
- Upstash:同时在线玩家超过 500 人,有排行榜和竞拍功能 → 升级到 $5/月 Pay-as-you-go
- QStash:每日消息超过 1000 条,或者需要工作流编排 → 升级到 $20/月 Pro
升级成本是递增的,你的游戏收入也是递增的。这个架构可以跟着你的游戏一起成长,不需要一开始就把所有基础设施买齐。
快速开始(按这个顺序)
第一步(5分钟):注册 Supabase(supabase.com),创建项目,获得 API 地址和 Key
第二步(5分钟):注册 Upstash(upstash.com),创建 Redis 数据库,复制 REST URL 和 Token
第三步(5分钟):注册 QStash(在 Upstash 控制台可以一键开通),获得 Token
第四步(2小时):按照官方文档,把 Supabase 集成到你的游戏后端(Unity C# / Godot / Next.js 都可以)
第五步(长期):在运营过程中,根据实际流量情况,逐步加入 Upstash 限流和缓存、QStash 异步任务
这个顺序不是固定的——你可以在第一天就把三件套都搭好,也可以先用 Supabase,跑几个月之后再根据需要加入 Upstash 和 QStash。三者完全独立,可以单独使用,也可以一起用,没有任何耦合要求。
真实成本对比
| 方案 | 第一年成本 | 配置难度 | 适合阶段 |
|---|---|---|---|
| 传统云服务器 + 自建 Redis + 自建队列 | $2400+ | 高(需要 DevOps) | 已经盈利的中型游戏 |
| 三剑客免费版 | $0 | 低(全托管) | 早期验证阶段 |
| 三剑客付费版(预估) | $50-200/月 | 低 | 增长期(月活 5000+) |
对于一个还没开始赚钱的独立游戏工作室,第一年零成本的后端,比什么都重要。
相关资源
三件套官网:
- Supabase:https://supabase.com
- Upstash:https://upstash.com
- QStash:https://upstash.com/qstash