一点思考(1)
原文地址:https://www.cnblogs.com/estrigriac/p/11180118.html
一、
如果页面上需要加载大量的静态资源,可以考虑上HTTP2。
二、
后端工程对一些配置性的数据,可以进行缓存,最简单的是进程内缓存,比如caffaine。这种模式对单体架构比较适合,但如果想要部署多个实例就不够用了。原因有两个:
- 增加不必要的内存开销。每个实例保存一份自己的缓存,内存消耗*N。
- 降低缓存命中率。实例1中缓存到的数据,实例2请求时会发现自己没有缓存,只好去数据库再取一次,缓存命中率/N。
可以通过引入外部缓存来解决这个问题,比如起一个redis服务,将所有后端实例的缓存保存在这里,可以保证共用一份缓存,降低内存开销、提高缓存命中率。
但引入外部缓存是有代价的,这会引入缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题(有待研究)。