Skip to content

Awesome Architecture · 架构图谱

一个专注「架构」而非「代码」的开源知识库。 收集真实热门系统的架构模板,并配一套让你成为更好架构师的教程。

English · 简体中文

🌐 在线阅读(可交互 · 中英双语,HTTPS): https://study8677.github.io/awesome-architecture/

🧭 配套 skill: architecture-copilot —— 把这套知识变成能在 Claude Code / Cursor / Codex 里引导你一步步设计架构的交互式 skill。


这个仓库为什么存在

过去二十年,程序员的核心竞争力是「把代码写对、写快」。

但有一件事正在我们眼前发生:「写代码」这件事,正在消失。 不是变难,也不是变少,而是作为「一门靠人来做的稀缺手艺」正在终结。在 OpenAI、Anthropic 这样的前沿实验室,代码几乎已经全部由 AI 写出,人类工程师不再亲手敲实现——他们只做两件事:告诉 AI 要造什么,然后判断它造得对不对。 当机器几秒就能吐出能跑的代码,"用 for 还是 map、背没背过某个 API、熟不熟某种语法"这些曾经的看家本领,一夜之间一文不值。

真正不会贬值、而且越来越值钱的,是另一种能力:

在动手写第一行代码之前,先想清楚这个系统应该长什么样子。

数据从哪来、到哪去?哪些部分必须强一致、哪些可以最终一致? 哪里会先崩?用户从 1 万涨到 1 亿时,第一个瓶颈在哪? 为了拿到 A,我愿意放弃哪个 B?

这就是架构思维。它和具体语言无关,和框架无关,甚至和今年流行什么无关。它是一种「先看地图,再上路」的判断力。

本仓库的信念:未来优秀的开发者,首先是一个会做架构判断的人,其次才是会写代码的人。 你应该先在架构层面对自己要做的东西有清晰的理解,代码只是把这个理解落地的手段之一。


仓库里有什么

awesome-architecture/
├── tutorial/      📚 教程 —— 系统地教你「怎么像架构师一样思考」
└── templates/     🗺️ 模板 —— 真实热门系统的架构地图,只讲架构、不讲语法

📚 tutorial/ —— 成为更好架构师的教程

不是讲「某个框架怎么用」,而是讲一套可迁移的思考方法:如何把模糊的需求拆成约束,如何在取舍中做决策,如何画出能沟通的架构图,如何从 0 设计一个全新系统。

章节主题你将学会
01为什么先有架构思维为什么「架构优先」是这个时代的核心技能
02架构师的思考框架需求 → 约束 → 质量属性 → 取舍 的通用流程
03读懂与画好架构图用 C4 模型把脑中的系统画出来、讲明白
04十大核心架构模式分层、微服务、事件驱动、CQRS… 各自解决什么问题
05数据与状态为什么「数据」才是系统真正的难点
06质量属性与取舍性能/可用性/一致性/成本,怎么权衡
07从 0 到 1 设计一个系统一套可照着做的实战方法论
08架构决策记录与演进用 ADR 记录决策,让架构随业务长大
09架构品味框架之外什么在拉开差距;用真实案例(微服务回单体、各大公司审美)养出判断力

👉 新手从 tutorial/README.md 开始,那里有完整的学习路径。

🗺️ templates/ —— 真实系统的架构模板

每一个模板都是一张「架构地图」。我们刻意不讨论用什么语言、什么框架,只讨论:这类系统在解决什么问题、由哪些部件组成、数据怎么流动、关键决策怎么取舍、规模化时会死在哪里。

目前共 21 个模板(16 经典 / 通用 + 5 AI 原生),每个都在末尾附真实开源项目 / 工程文档链接,可顺着去读源码。

经典 / 通用系统:

模板代表产品核心架构看点
AI 对话产品Claude、ChatGPTLLM 推理、流式输出、上下文管理、RAG、成本控制
浏览器插件Honey、Grammarly内容脚本/后台分离、页面注入、隐私边界、变现
普通网站企业官网、博客、SaaS 后台经典三层、缓存、读写分离的「够用就好」
移动 App大多数 iOS/Android 应用离线优先、数据同步、客户端状态、推送
电商平台Amazon、Shopify、淘宝库存、订单、支付、超卖、大促洪峰
社交信息流Twitter/X、InstagramFeed 拉取/推送、关注关系、热点扩散
视频流媒体Netflix、YouTube转码、CDN、自适应码率、推荐
实时通讯WhatsApp、Slack、微信长连接、消息时序、离线投递、群扩散
短链接服务Bitly、TinyURL、t.co读多写少、缓存、301/302、分布式唯一 ID
支付系统Stripe、支付宝、PayPal幂等、复式记账、对账、状态机
搜索引擎Google、Elasticsearch倒排索引、相关性排序、召回+精排、分片
网约车 / 出行Uber、滴滴地理空间索引、实时位置、供需匹配、动态定价
实时协同文档Google Docs、FigmaOT/CRDT、单 writer 串行、操作日志、离线同步
云存储 / 网盘Dropbox、iCloud文件分块、内容寻址去重、增量同步、断点续传
通知 / 推送系统Novu、FCM/APNs多渠道扇出、去重限频、异步重试、优先级
在线票务 / 抢票Ticketmaster、大麦、12306虚拟等候室、原子扣减防超卖、锁座超时

🤖 AI 原生系统(LLM 时代新增):

模板代表产品 / 原型核心架构看点
AI 中转站 / 网关One API、LiteLLM、Portkey统一接口、计费限流、负载均衡、故障转移、缓存
RAG 知识库RAGFlow、LlamaIndex、Dify切块、向量检索、混合检索+重排、引用溯源
AI Agent / 工作流Dify、Coze、LangGraph行动循环、工具沙箱、记忆、可控兜底
模型推理服务vLLM、SGLang、Triton连续批处理、分页 KV 缓存、量化、多副本
向量数据库Milvus、Qdrant、pgvectorANN 近似最近邻、HNSW/IVF、召回-延迟权衡

👉 想加入自己的模板? 套用 templates/_TEMPLATE.md 的统一格式即可。


怎么用这个仓库

如果你是初学者 / 想转向架构思维: 按顺序读完 tutorial/,每读完一章,就去 templates/ 里挑一个你感兴趣的系统,试着用刚学的框架去「读懂」它。

如果你正要设计一个新系统: 先去 tutorial/07 学方法论,再去 templates/ 里找最接近你场景的那张地图,把它当作起点而不是答案——照着它的「关键决策」和「常见误区」逐条问自己。

如果你在准备系统设计面试:templates/ 里的每个模板都覆盖了高频考点(超卖、Feed 扩散、消息时序、流式输出…),按统一格式组织,适合系统性复习。

如果你是资深工程师 / 架构师: 直接看每个模板的「关键决策与权衡」和「演进路线」,这是最浓缩的部分。欢迎贡献你踩过的坑。


三条阅读原则

  1. 先问「为什么」,再看「怎么做」。 任何一个架构选择,背后都是某个约束或某个取舍。看不到取舍,就等于没看懂。
  2. 没有最好的架构,只有最合适的架构。 同样是「聊天」,做一个内部工具和做微信,答案天差地别。规模、团队、成本、合规决定一切。
  3. 架构是会长大的。 不要拿成熟期的架构去套 MVP。每个模板都给了「演进路线」,告诉你什么时候该升级、什么时候过度设计。

一句话总结

代码告诉计算机要做什么;架构决定这件事到底值不值得做、能不能做成、扛不扛得住。 这个仓库,帮你练后面那种判断力。


🔗 友链

  • LINUX DO —— 新的理想型社区,一群热爱技术、乐于分享的开发者聚集地。