引入缓存前的考量-大处着眼,小处着手《深入分布式缓存-从原理到实践》

缓存不是系统架构的必选项,只有在遇到性能瓶颈的业务场景,才可能需要引入缓存。

首先从宏观考虑,整体的缓存场景,缓存层次,缓存策略(同步/更新)。
其次从局部考虑,选择合适的缓存组件,使用方式(数据结构、分布、部署),制定缓存系统的SLA(服务等级协议)
最后,在系统运行过程中,要对缓存系统监控报警,还要根据业务发展、访问规模的变化,不断对缓存架构优化及演进。

比如: 1、规模不大的小系统,系统发展的初始阶段。引入缓存不能带来明显的性能提升,反而增加开发运维的复杂度。
2、单条数据尺寸比较大的业务,如图片系统,虽然访问量比较大,但更佳的选择是分布式文件系统,而非缓存。
https://redis.io/topics/data-types-intro redis 的 key 和 value
最大值都为512M。 3、
具有一定规模的常规业务系统,访问量较大,且持续快速增加,要保证服务的稳定性,突发流量下也能快速响应用户请求,就需要把频繁读写的数据从磁盘访问变为内存访问,即需要引入缓存

集群组件方式-客户端sharding、proxy、服务端集群。

集群如何解决,缓存可用性,缓存一致性,热点数据,缓存穿透,缓存失效,缓存命中率。

缓存组件如何考虑序列化,gc影响,缓存连接池。

你可能感兴趣的:(读书笔记,缓存)