youboyTizzyT / high-scalability-rules

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

高可扩展网站的设计及运维规则(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. 重要的操作都要有据可查

About

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