https://github.com/digitalsonic/high-scalability-rules
高可扩展网站的设计及运维规则
https://github.com/digitalsonic/high-scalability-rules
Last synced: 7 months ago
JSON representation
高可扩展网站的设计及运维规则
- Host: GitHub
- URL: https://github.com/digitalsonic/high-scalability-rules
- Owner: digitalsonic
- Created: 2013-05-17T14:42:56.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2016-05-19T09:36:55.000Z (over 9 years ago)
- Last Synced: 2025-01-09T04:08:25.024Z (9 months ago)
- Size: 32.2 KB
- Stars: 14
- Watchers: 2
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 高可扩展网站的设计及运维规则(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. 重要的操作都要有据可查