01中心課題とニーズ
多租户 SaaS 应用在使用 Postgres 行级安全(RLS)时,通常通过连接池(如 pg Pool)执行 SET app.current_tenant 来设置租户上下文。但在并发负载下,会话级的 SET 会残留在连接上,导致后续请求可能读到其他租户的数据,造成严重的跨租户数据泄漏。开发团队难以稳定复现和排查该问题,现有工具缺乏对连接池中租户上下文隔离的保障。
02プロダクト解決策
提供一个轻量级中间件/SDK,自动为每个数据库连接设置并重置租户上下文。核心功能包括:1)基于 AsyncLocalStorage 或类似机制在请求级别绑定租户 ID;2)在连接获取时自动执行 SET LOCAL app.current_tenant,确保事务结束后自动清除;3)提供连接池包装器,拦截并校验租户上下文,防止残留;4)集成测试工具,模拟并发场景验证隔离性;5)支持主流 ORM(Prisma、TypeORM、Knex)和连接池库(pg-pool)。
03収益化と事業モデル
采用开源核心 + 商业增值模式:基础 SDK 开源免费,吸引开发者使用;高级功能如可视化监控面板、自动修复、合规审计报告、企业级支持等按年订阅收费。同时可提供云托管服务,按连接数或请求量计费。
04アクション
- 1验证痛点:在 GitHub 和 Stack Overflow 上收集更多关于 Postgres RLS 连接池泄漏的案例,确认需求普遍性。
- 2构建 MVP:开发一个 Node.js 中间件,自动在连接获取时设置 SET LOCAL 租户上下文,并确保事务后重置。
- 3编写测试:创建并发测试套件,模拟高负载下多租户隔离,验证无泄漏。
- 4发布开源版本:在 GitHub 上开源核心库,撰写详细文档和博客文章,吸引早期用户。
- 5收集反馈并迭代:根据用户反馈增加对 Prisma、TypeORM 等 ORM 的适配。
- 6推出商业版:开发监控面板和自动修复功能,设定付费计划。
- 7市场推广:在 Reddit、Hacker News、Dev.to 等平台推广,与 Postgres 社区合作。
05リスク
主要风险包括:1)Postgres 官方可能在未来版本中改进连接池的会话管理,降低需求;2)大型云厂商可能推出类似功能,形成竞争;3)开源项目难以商业化,用户付费意愿低;4)技术实现复杂,需确保兼容多种 ORM 和连接池;5)安全漏洞若处理不当,可能引发信任危机。