high-scalability-rules
high-scalability-rules copied to clipboard
高可扩展网站的设计及运维规则
高可扩展网站的设计及运维规则(high-scalability-rules)
本书旨在帮助大家做出 更好的、更容易扩展的系统,改善系统的可运维性。因为高可扩展的话题太大,所以我们会将目光聚焦在一些容易犯错的地方,以及容易被忽略的地方。
此处罗列了一些规则,根据不同的类型,整理成篇,分为以下章节:
- 设计篇
- 避免复杂的方案和过度设计
- 尽量使用统一的技术和框架
- 系统需要具备垂直伸缩及水平伸缩的能力
- 努力消除系统中的单点
- 为系统中的热点降温
- 保证操作的幂等性
- 系统间的交互尽量采用异步方式
- 数据库篇
- 不要使用SELECT *
- INSERT时明确地指定字段
- 大量数据操作时应该采取批处理方式
- 部署篇
- 具备一键快速编译部署的能力
- 设定合理的运行参数
- 不确定的参数不应存在于代码之中
- 避免使用硬编码IP
- 运行篇
- 要能有效地监控运行中的系统
- 必要时系统能够进行降级
- 大流量涌入时能够进行限流
- 安全篇
- 正确使用安全框架
- 严格区分内部与外部网络的使用
- 重要的操作都要有据可查