![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
l2cache系列
文章平均质量分 80
l2cache的实战系列
白云coy
从0到1负责过千万级月活电商平台的系统重构和架构设计,月GMV从1亿到10亿+,QPS从5w到35w。Github开源项目l2cache的贡献者,Star数440+。做过电商平台、Saas平台、业务中台、聚合支付等行业赛道。
展开
-
DB 与 缓存 间数据不一致问题分析
常见缓存架构方案写操作的顺序(1)淘汰cache(2)写数据库读操作的顺序(1)读cache,如果cache hit则返回;(2)如果cache miss,则读从库(也可能是主库);(3)读从库后,将数据放回cache;数据不一致问题分析在一些异常时序情况下,有可能存在数据不一致的问题,如下:(1)主库数据还没有同步到从库时,从从库读取到旧数据放入cache(2)写操作过程中,在 淘汰cache 和 写数据库 操作之间,有请求从主库读取旧数据放入cache解决方案原创 2020-07-16 10:33:53 · 363 阅读 · 0 评论 -
5.基于 Caffeine + Redis + Spring Cache 实现分布式二级缓存方案
一、概要:1、一级缓存Guava Cache ,本地缓存。2、二级缓存Redis ,分布式缓存。提供扩展点,可实现为基于其他分布式缓存的方案3、使用方式:注解方式:1、基于Spring Cache进行扩展 ,利用Spring Cache的注解来提高使用的便捷性,同时方便与Java主流开源框架集成注:对于过期时间需要扩展2、自定义实现一套cache注解API方式:...原创 2020-04-26 09:39:05 · 1938 阅读 · 1 评论 -
实战-商品中心-Redis集群版超出最大内存限制异常
记录一次阿里云Redis版超出最大内存限制异常原创 2020-09-26 12:58:02 · 2685 阅读 · 0 评论 -
实战-用户中心-还原并验证使用caffeine出现频繁gc和oom的场景
1、配置JVM参数,以便观察GC的情况。-Xmx10M -Xms10M -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps2、验证代码 public static void main(String[] args) { Cache<String, String> cache= Caffeine.newBuilder() .initialCapacity(32)原创 2020-10-05 23:09:49 · 2268 阅读 · 1 评论 -
实战-【生产故障】关于缓存增减字段的兼容性处理方案
前几天出现一个生产故障,导致整个电商小程序不可用,持续将近30分钟,造成了严重的影响,特此记录已做警示。1、问题小程序首页无商品数据,导致后续购物流程全部受阻(对电商平台而言这是致命的)。2、分析通过分析日志发现,是获取商品数据接口报异常,导致首页无法看到商品数据,具体分析如下:1、从日志得知,从redis获取商品数据时反序列化失败,那么为什么会反序列化失败呢?2、从错误堆栈信息中分析得知,是因为一个图片字段引起反序列化失败的。3、第一反应是不是发版本导致的,然后找运维确认是否有发布生产版本,原创 2021-03-05 12:06:23 · 344 阅读 · 0 评论 -
4.L2cache 关于缓存的几个常见问题分析和处理方案
l2cache 分布式二级缓存组件Gitee 源码地址l2cache 是一个基于 Caffeine、 Redis 、 Spring Cache 实现的满足高并发场景下的分布式二级缓存解决方案。Caffeine :一级缓存 L1,也就是内存缓存,而内存天然支撑高并发的。Redis : 二级缓存 L2,也就是集中式缓存。注意:1、由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。2、L2 可以避免应用重启后导致的 L1 数据丢失的问题原创 2020-06-09 10:16:42 · 5023 阅读 · 8 评论 -
实战-用户中心-l2cache-Caffeine的OOM异常分析
一、概要1、电商平台,有几千万的用户量。2、下单时,会调用用户服务获取用户信息。3、用户服务通过 l2cache 二级缓存框架 来缓存用户信息。注:l2cache 为自研二级缓存框架一级缓存(本地缓存): caffeine二级缓存(分布式缓存):redis4、本地缓存caffeine的最大元素大小设置为5000,过期时间为30分钟。二、问题通过阿里云ARMS监控发现,用户服务存在频繁FullGC和YoungGC的情况,最终导致OOM。三、分析结合业务场景进行分析,发现用户维度的本地原创 2020-10-04 23:40:58 · 2702 阅读 · 0 评论 -
实战-商品中心-l2cache高并发场景下出现OOM的分析和优化方案
问题描述goods-rest在压测时出现OOM,具体错误日志如下:一级缓存:caffeine二级缓存:redis分析1、通过上面的日志可得知,具体的错误点为:com.github.benmanes.caffeine.cache.LocalLoadingCache.java:166Exception thrown during refresh2、分析caffeine源码 LocalLoadingCacheinterface LocalLoadingCache<K, V>原创 2021-01-06 15:26:33 · 1105 阅读 · 0 评论 -
实战-商品中心-l2cache中caffeine.getIfPresent()仅仅获取缓存,但触发了数据加载,导致被设置为NullValue的问题分析
实战-l2cache中caffeine.getIfPresent()仅仅获取缓存,但触发了数据加载,导致被设置为NullValue的问题分析原创 2022-06-02 11:05:12 · 3879 阅读 · 0 评论 -
2.如何使用 L2cache
如何使用L2cache原创 2022-06-02 11:31:06 · 3361 阅读 · 14 评论 -
1.L2Cache 分布式二级缓存框架
L2Cache 是一个基于内存Redis实现的满足高并发场景下的分布式二级缓存框架。原创 2023-04-19 09:58:31 · 1153 阅读 · 2 评论 -
6.l2cache [热key探测]技术方案调研
在高并发系统中,热key一直以来都是一个不可避免的问题(无法通过加机器来解决)。由于目前核心主链路中存在突发的无法预先感知的流量,而这些热点访问会对数据层造成冲击,严重时会导致Redis的带宽满载,最终可能导致系统崩溃,影响应用层系统稳定性。所以我们需要一种手段来自动探测热点数据,期望通过它大幅降低热点数据对数据层的冲击,并提升应用性能。原创 2023-05-26 14:25:15 · 1614 阅读 · 0 评论 -
3.L2Cache 核心原理解析
L2Cache 核心原理解析。原创 2023-07-27 14:27:42 · 1696 阅读 · 1 评论