使用 Turso 部署
边缘 SQLite,libSQL、多区域复制和每用户数据库。
平台进阶
为什么
Turso 边缘运行 SQLite 用 libSQL(带复制的 SQLite 分支)。每用户可有自己 DB,读从最近区域服务 <10ms 延迟。
平台即服务采用率 2024 年增长 24%,团队从虚拟机管理转向 git push 部署。the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research),PaaS 层捕获了大多数新工作负载。
何时使用
边缘应用、多租户 SaaS(每用户 DB)和读密集工作负载用 Turso。写密集或跨 DB 复杂 join 避免。
如何做
1. 创建 — turso db create mydb
2. 复制 — turso db replicate mydb <region>(多区域)
3. 连接 — libSQL 客户端或 sqlite3 加扩展
4. Schema — turso db shell mydb < schema.sql
5. 每用户 — 每租户建 DB,turso db list 管理
6. Token — turso db tokens create mydb 认证
7. SDK — @libsql/client 用于 JS/TS
示例
import { createClient } from "@libsql/client";
const client = createClient({
url: process.env.TURSO_DATABASE_URL!,
authToken: process.env.TURSO_AUTH_TOKEN!,
});
const result = await client.execute("SELECT * FROM users WHERE id = ?", [1]);
# CLI
turso db create mydb --location nrt # 东京
turso db replicate mydb sfo # 旧金山
turso db tokens create mydb # 认证 token
常见问题
- ⚠写仅到主 — 写延迟取决于主区域距离
- ⚠DB 过多 — 免费层有限,多租户用 group
- ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致
最佳实践
- ✓复制到用户密集区域 — 读本地服务,写异步到主
- ✓多租户用 turso db groups — 多 DB 一组管理
- ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求