Skip to content

About

讲述市面上可能遇到的各类系统设计问题,以及设计方案的优缺点和具体取舍。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

system-design

讲述市面上可能遇到的各类系统设计问题,以及设计方案的优缺点和具体取舍。

目录结构

  • cases/ — 主内容:一个具体场景一篇(短链服务、限流器、Feed 流……)。读者带着问题来,从这里进入。
  • refs/ — 引用子块:一个概念一篇的"词汇表",由 case 按需链接,不在 case 里重复展开:
    • foundations/ — 基础理论:CAP、一致性模型、时钟与序
    • storage/ — 存储选型:SQL / NoSQL / 时序 / 对象存储
      • wide-column.md — 宽列存储(Cassandra / HBase 模型)与它放弃的东西
    • cache/ — 缓存:一致性、雪崩 / 穿透 / 击穿
    • messaging/ — 消息队列:投递语义、顺序、幂等
    • coordination/ — 分布式协调:锁、共识、选举
    • patterns/ — 架构模式:分库分表、CQRS、读写分离
      • fan-out.md — 写扩散 vs 读扩散:受众规模决定分岔
    • resilience/ — 稳定性:限流、熔断、降级、重试 / 超时预算
  • templates/ — 写作模板,新增文章从这里复制。

维护约定(命名、链接纪律、提交前自检)见 agent.md。

案例索引

新增案例后在此登记一行。命名用「领域-主题」小写 kebab-case,通用案例不加前缀。

领域 案例 一句话结论
社交 social-messenger 长连接网关 + 会话分区宽列存储 + at-least-once/端侧去重;顺序只承诺会话内有序,用 seq 在端侧收敛

阅读方式

case 是文章,ref 是词条:读 case 碰到共性概念时跳去 ref 看方案谱系,再回到 case 看本场景怎么取舍。

About

讲述市面上可能遇到的各类系统设计问题,以及设计方案的优缺点和具体取舍。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors