ドキュメント
技术架构与技术栈
技术架构与技术栈
深入了解 Postion 的底层。探索我们的系统架构、现代技术栈以及确保速度、规模和安全的核心设计原则。
1. 系统架构图
核心流程:
- 用户通过 Next.js 前端访问站点(
[username].postions.app或自定义域名)。 - Cloudflare 边缘网络处理请求,提供全球 CDN 加速。
- API 请求通过 Next.js API Routes 发送到后端服务。
- 后端服务使用 Prisma ORM 与 PostgreSQL 数据库交互,获取内容数据。
- 支付流程由 Stripe API 处理,订阅状态通过 Webhooks 同步。
- AI 相关功能(如写作助手、摘要生成)通过调用 OpenAI/Gemini API 实现。
- Newsletter 功能使用 Mailgun 实现。
- 工作流功能使用 n8n 实现。
2. 技术栈
- 前端: Next.js 15 (React),Tailwind CSS,BuouUI
- 后端: Next.js API Routes(Serverless Functions),TypeScript
- 数据库: PostgreSQL
- ORM: Prisma
- 支付: Stripe
- 域名: Cloudflare
- AI 服务: OpenAI API (GPT-4/GPT-3.5),Gemini API,Vercel AI SDK
- 部署/托管: Deployment
- 认证: NextAuth.js
- 内容分发: Cloudflare 边缘网络 (CDN)
- 工作流: n8n
设计考量: 我们选择了以 Cloudflare 和 Next.js 为核心的全栈 TypeScript 方案,以实现最大的开发效率、卓越的性能(尤其是 SEO 方面)以及无缝的 Serverless 可扩展性 — 完美契合内容平台的需求。
3. 核心数据架构
User:存储用户信息和认证详情。Site:存储每个创作者的站点配置(子域名、自定义域名、模板、品牌等)。一个User可以拥有多个Site。Post:存储文章内容、元数据和发布状态。关联到Site。Subscription:存储用户订阅关系,关联到 Stripe 的Subscription。WebhookEvent:记录来自 Stripe 等外部服务的 Webhook 事件,确保数据一致性。
4. 核心设计原则
- 多租户: 不同创作者的内容和配置在数据库层面通过
siteId隔离。 - 性能优先: 我们利用增量静态再生 (ISR) 和 CDN 缓存确保内容页面在毫秒级加载。
- 安全与可靠: 所有支付信息由 Stripe 处理;我们不存储敏感支付数据。我们利用平台原生安全功能(如 Cloudflare 防火墙)防止常见攻击。
- 可扩展性: Serverless 架构允许根据流量自动扩缩,无需服务器管理。