标签
System Design
系统设计(八):案例分析 —— 网址缩短服务、实时聊天系统、新闻信息流
三个完整的系统设计实战演练 —— 网址缩短服务、实时聊天系统与新闻信息流 —— 均严格遵循本系列首篇文章提出的框架:从需求澄清与规模估算,到高层架构设计、关键组件深度剖析,再到可扩展性策略。
系统设计(七):数据管道——批处理、流处理与 Lambda 架构
一份实用的数据管道架构指南——涵盖 ETL vs ELT、Spark 批处理、Flink 流处理、Lambda vs Kappa 架构、变更数据捕获(CDC),以及端到端实时分析管道设计。
系统设计(六):微服务 vs 单体架构——坦诚的权衡分析
对单体架构与微服务的坦诚评估——涵盖分布式系统开销、基于领域驱动设计(DDD)的服务边界划分、服务间通信模式、熔断器、服务网格、API 网关,以及一套实用的决策框架。
系统设计(五):消息队列与事件驱动架构
一份面向实践的消息队列与事件驱动系统指南——涵盖 Kafka 与 RabbitMQ 架构、投递语义保障、事件溯源(Event Sourcing)、CQRS、死信队列(DLQ)、反压(Backpressure),以及完整的订单处理流水线设计。
系统设计(四):缓存——在哪里缓存、淘汰什么,以及缓存何时反而有害
深入剖析全栈各层的缓存策略——从 CDN 到数据库缓冲池——涵盖 cache-aside、write-through、write-behind 模式,淘汰策略、惊群效应(thundering herd)缓解方案,以及实用的 Redis 配置。
系统设计(三):API 设计——REST、gRPC、GraphQL 及如何明智选型
REST、gRPC 和 GraphQL 的实用对比 — 涵盖协议设计、真实场景下的权衡取舍、限流算法、幂等性保障,以及一套用于选择合适 API 风格的决策框架。
系统设计(二):DNS、CDN 与负载均衡——请求旅程的前三跳
每个 Web 请求都始于 DNS 解析,可能途经 CDN 边缘节点,最终抵达负载均衡器,才到达你的应用。理解这三跳机制,是构建快速、可靠、全球分布式系统的基石。
系统设计(一):以系统思维思考——负载、延迟与估算的艺术
掌握系统设计的基础能力:快速估算(back-of-envelope estimation)、可用性数学推导、SLA 定义,以及一套可复用的系统设计框架。







