1.CAP定理
指在一个系统中,一致性、可用性、分区容错性3要素最多可同时实现2个
一致性:
可用性:
在集群中一部分节点故障后,集群整体是否能响应客户端的读写请求
分区容错性:
分区相当于对通信的时限要求,系统如果不能在时限内达成数据一致性,说明发生了分区的情况
2.扩容
垂直扩展
水平扩展
集群,增加机器
3.网络抖动
接口设计幂等性
发送一次请求和n次请求的结果应该是一致的
4.访问限流
客户端访问量 > 服务端承载范围
5.做访问限流
- 页面防止点击
- 防火墙过滤恶意IP
- nginx防止IP或代理到其他地址
- 网关进行限流算法
- 服务器controller中访问限流
6.漏桶算法
- 无法处理突发请求
- 请求一点点处理(桶满后,溢出,拒绝访问)
- 有的接口需要等待,有的执行很快
7.令牌桶算法
- 令牌加满,暂停
- 低峰积攒令牌
8.幂等性
- 查询、删除天然幂等性
- 唯一索引、组合索引(例如账号)
- token令牌,防止重复提交
- 悲观锁
- 乐观锁(更新订单式写where条件判断未支付时更改为支付)
