撑千万级,大型电商分布式架构解析(17)

多级缓存

缓存按照存放的位置一般可分为两类:本地缓存和分布式缓存 。 本案例采用二级缓存的方式 , 进行缓存的设计 。 一级缓存为本地缓存 , 二级缓存为分布式缓存 。 (还有页面缓存 , 片段缓存等 , 那是更细粒度的划分)

一级缓存 , 缓存数据字典 , 和常用热点数据等基本不可变/有规则变化的信息 , 二级缓存缓存需要的所有缓存 。 当一级缓存过期或不可用时 , 访问二级缓存的数据 。 如果二级缓存也没有 , 则访问数据库 。

缓存的比例 , 一般 1:4 , 即可考虑使用缓存 。 (理论上是 1:2 即可) 。

根据业务特性可使用以下缓存过期策略:

(1) 缓存自动过期;

(2) 缓存触发过期;

单点登录(分布式 Session)

系统分割为多个子系统 , 独立部署后 , 不可避免的会遇到会话管理的问题 。 一般可采用 Session 同步 , Cookies , 分布式 Session 方式 。 电商网站一般采用分布式 Session 实现 。

推荐阅读