SuperAPI AI 工具集

supabase-reliability-patterns

部署与运维

查看项目

更新于 10-16 06:20

技能介绍

用途:为生产环境的 Supabase 集成提供六层可靠性保障,避免级联故障与数据丢失。

主要能力:熔断器按数据库、认证、存储三个服务域独立跟踪失败,超过阈值后停止调用并支持 CLOSED/OPEN/HALF_OPEN 状态自动恢复;指数退避加抖动重试处理瞬时错误(如 PGRST301、08006、57014、40001、53300),不重试认证、RLS 与校验类错误;离线队列在网络不可用时用 IndexedDB 缓冲写入并在重连后回放;优雅降级在故障期间返回缓存或兜底数据;健康检查在路由流量前探测可用性;双写将关键数据同时写入 Supabase 与备份存储(Redis、DynamoDB 或本地 SQLite),并配合对账任务回放缺失记录。

使用方式:需安装 @supabase/supabase-js v2+,在 TypeScript 项目中配置客户端。熔断器与重试可组合使用,例如在 dbCircuit.call 内包裹 withRetry 调用 supabase.from(...).select(...),读操作可提供兜底返回值,写操作不设兜底以便交由离线队列处理。离线队列需浏览器 IndexedDB 或服务端 Redis;双写需第二数据存储。

适用场景:高可用要求的 Supabase 应用、弱网或移动端场景、关键数据需跨存储冗余的系统。

限制:资料未提供具体安装命令、版本兼容细节与性能数据;离线队列建议上限 1000 条并在 100 条时提示,缓存需设置合理 TTL 并显示更新时间,健康检查需连续 3 次失败才判定不健康,对账任务建议每 5 分钟运行一次。