## 系统扩展:从零到数百万用户
扩展系统并非预测未来需求,而是响应当前的瓶颈。本文概述了7个扩展阶段,强调增量改进而非过早优化。从单个服务器(Web应用、数据库、后台任务)开始,非常适合初步验证——简单性允许快速迭代和低成本(约20-50美元/月)。
随着流量增长,第一次拆分是将数据库分离,以实现资源隔离和独立扩展,通常利用像Supabase这样的托管服务。连接池随后优化数据库效率。接下来,添加负载均衡器和多个应用服务器引入冗余并处理增加的需求。
在此之后,缓存、读副本和CDN可以减轻数据库负载。自动扩展会根据CPU使用率等指标动态调整服务器容量。当用户达到数十万时,考虑CQRS(命令查询职责分离)以优化读写操作,并可能进行数据库分片以提高写入可扩展性。
最后,在巨大规模下(1000万+用户),定制基础设施和边缘计算成为可行的选择,为独特的工作负载需求定制解决方案。
关键要点:衡量瓶颈,优先考虑无状态性,积极缓存,并拥抱异步处理。扩展是一个持续的过程,不断调整架构以适应不断变化的需求,始终选择*现在*可行的最简单解决方案。
## 构建个人编码代理:pi-ai
在历经多年各种LLM辅助编码工具(ChatGPT、Copilot、Cursor、Claude Code)的演变后,作者发现现有的“框架”过于复杂、不可预测,且缺乏控制力——尤其是在上下文和可观察性方面。这促使他创建了**pi-ai**,一个为简单性和个人使用而设计的自建编码代理。
pi-ai 优先采用极简方法,提供一个统一的LLM API支持多个提供商(Anthropic、OpenAI等)、核心代理循环和一个基本的终端UI。主要功能包括精确的上下文控制、完整的会话检查以及清晰记录的格式用于后期处理。作者有意避免了复杂工具集、MCP支持和后台进程等功能,认为它们增加了不必要的复杂性。
该项目涉及克服统一LLM API(处理提供商特定特性和token跟踪)以及构建响应式终端界面方面的挑战。与Codex和Claude Code等成熟工具的基准测试显示出令人鼓舞的结果,证明了极简、受控的方法可以非常有效。
最终,pi-ai是一个为专注编码而构建的个人工具,优先考虑开发者控制和可观察性,而非功能膨胀。代码是开源的,但作者打算保持对项目的专注愿景,欢迎与核心原则一致的分支和贡献。