方案一: 热门数据分片
1.将全量商品数据根据产品ID分片缓存集群
2.热门商品数据独立部署缓存集群(使用负载均衡方式分发访问请求)
是否热门商品需要提前定义好:
简单点的方式是参与限时抢购的商品都定义为热门商品
复杂点的方式是用户行为分析与大数据评估,确定是否为热门商品,这种方式实现重,代价大,不适合小体量电商网站
前端首先拉取商品列表,列表中已经提前标识是否热门商品,访问商品详情时带上热门标识,后端服务根据热门标识确认是否热门商品,若为非热门商品访问全量数据分片集群,若为热门商品采用负载均衡方式访问热门商品缓存集群
方案二:缓存前置+闪电缓存
1.客户端缓存,设置缓存时间,尽量分钟级别(缓存前置)
2.服务进程缓存,设置缓存时间尽量秒级别(闪电缓存)
设置较短缓存时间可以降低缓存一致性时间窗口,降低负面影响,同时降低缓存服务器访问压力,不需要区分是否热点商品