这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
完整系统
三年,1095 天,从一张写着「Flask + SQLite」的小方块,变成了负载均衡、API 网关、Redis 集群、CDN、消息队列和风控系统俱全的分布式架构。回头看,每一步都不是设计出来的,而是被一次次的告警、举报和账单逼出来的。
这一章先把三年演进摆平:最早是一台两核四G的机器,第一周引入缓存,第二个月迁到 MySQL,半年后第一次扩容,一年后用上 CDN 和分布式 ID,最后拆成微服务。最终架构的每一层——负载均衡、网关、应用服务、缓存、数据、消息队列——各自解决什么问题,都得说清楚。
再把十个关键决策的纠结摊开:SQLite 还是 MySQL 选了 MySQL,MD5 还是自增 ID 选了自增加 Base62,301 还是 302 选了 302,本地缓存还是 Redis 选了 Redis,单机还是分布式选了单机并预留扩展,Snowflake 还是 Redis INCR 选了 Snowflake,自建审核还是第三方选了混合,免费还是付费选了分级收费,MySQL 分区还是分库分表选了分区过渡,自运维还是云服务选了核心自运维、非核心用云服务。
最后是提炼出来的那十条设计原则,从「先跑起来再优化」到「用户需求驱动技术」。读完你应该能画出自己系统的一张完整架构图,说清每个关键决策当时的约束和代价,也能用这十条原则去判断一个方案现在该不该上。
发现内容有问题?
告诉我们哪里需要改进。
