/high-scalability-rules

高可扩展网站的设计及运维规则

高可扩展网站的设计及运维规则(high-scalability-rules)

本书旨在帮助大家做出 更好的、更容易扩展的系统,改善系统的可运维性。因为高可扩展的话题太大,所以我们会将目光聚焦在一些容易犯错的地方,以及容易被忽略的地方。

此处罗列了一些规则,根据不同的类型,整理成篇,分为以下章节:

  1. 设计篇
    1. 避免复杂的方案和过度设计
    2. 尽量使用统一的技术和框架
    3. 系统需要具备垂直伸缩及水平伸缩的能力
    4. 努力消除系统中的单点
    5. 为系统中的热点降温
    6. 保证操作的幂等性
    7. 系统间的交互尽量采用异步方式
  2. 数据库篇
    1. 不要使用SELECT *
    2. INSERT时明确地指定字段
    3. 大量数据操作时应该采取批处理方式
  3. 部署篇
    1. 具备一键快速编译部署的能力
    2. 设定合理的运行参数
    3. 不确定的参数不应存在于代码之中
    4. 避免使用硬编码IP
  4. 运行篇
    1. 要能有效地监控运行中的系统
    2. 必要时系统能够进行降级
    3. 大流量涌入时能够进行限流
  5. 安全篇
    1. 正确使用安全框架
    2. 严格区分内部与外部网络的使用
    3. 重要的操作都要有据可查