系统设计

"架构的一些小思考"

Posted by Gordon on May 1, 2025

#一、基础

看清楚:分析系统的使用场景

  • 系统的功能是什么
  • 系统的目标群体是什么
  • 系统的用户量有多大
  • 希望每秒钟处理多少请求?
  • 希望处理多少数据?
  • 希望的读写比率?

想清楚:画出主要的组件和连接

画出一个抽象的架构图以及设计核心组件

  • 数据库查找
  • MD5和 Base62
  • Hash 碰撞
  • SQL 还是 NoSQL
  • 数据库模型
  • 生成并储存一个完整 url 的 hash
  • 将一个 hashed url 翻译成完整的 url
  • API 和面向对象设计
  • 对系统进行优化

看未来:找到系统的瓶颈所在,对其进行优化,例如可以考虑水平扩展、数据库分片等等。