系统设计
如何设计
- 确定使用场景、约束及假设
- 用户量
- QPS
- TPS
- ...
- 创建高层级设计
- 描述主要组件及其之间的联系
- 重点描述核心组件
- 组件的扩展
- 水平扩展
- 垂直扩展
扩展性
如果服务性能的增长与资源的增加是成比例的,服务就是可扩展的
伸缩性
不断向集群中添加服务器来缓解不断上升的用户并发访问压力和不断增长的数据存储需求
如果系统存在性能问题,那么单个用户的请求总是很慢的。 如果系统存在伸缩性问题,那么单个用户的请求可能会很快,但是在并发数很高的情况下系统会很慢
只要集群中的服务器是无状态的,那么往集群中添加服务器后进行负载均衡是很容易的