1.1 高并发原则
1.1.1 应用无状态,方便水平拓展
缓存
1.浏览器端缓存
2.app端缓存
3.CDN缓存
CDN(内容分发网络)通过缓存服务器上的静态资源,来减少对源服务器的请求,从而加快用户访问速度。CDN缓存通常基于URL进行缓存管理,即相同的URL会被缓存并复用,以减少对源服务器的压力。
如果URL中包含随机数,那么每次请求的URL都会是唯一的(因为随机数会变化),这会导致CDN缓存系统认为每次请求都是对新的资源的请求,从而不会从缓存中提供数据,而是直接向源服务器发起请求。
4.接入层缓存
5.应用层缓存
6.分布式缓存
1.1.7 并发化
如果一个读服务要读取不同的数据源,串行化获取时间比较久,对于没有依赖关系的可以并发化。
1.2 高可用原则
1.2.1 降级
ginx的limit模块通过提供请求频率限制和并发连接数限制的功能,有效保护了服务器资源,防止单一客户端在特定时间段内发送过多的请求,从而占用过多服务器资源。
1.3.1 防重设计
1.3.2幂等设计
第二章 负载均衡与反向代理
负载均衡
1.轮询
2.ip_hash (缩容或扩容时会造成很多key被重新负载到不同的服务器)
3.一致性hash
失败重试
长连接
第三章 隔离术
集群隔离
动静隔离
一些静态资源放到CDN上
基于sevlet3实现请求隔离
第四章 限流
应用级限流
1.限流总并发,连接请求数
3.限流某个接口的总并发请求数
分布式限流
写降级
同步转异步
第六章 超时与重试
第七章 回滚机制
第八章 压测与预案
第九章 应用级缓存
缓存使用模式实践
必须掌握的这4种缓存模式
第十一章 多级缓存
建立实时热点发现系统
第十三章 异步并发实战
1.同步阻塞调用
2.异步Future
3.异步回调机制
商品详情页建设
详情页架构设计原则