结合最近五年的官方文档、工程资料与技术文章,整理 Spring Boot 3.5 + Java 25 微服务中 Resilience4j 在 HTTP、Redis、Kafka、DB 外部调用上的使用边界与实践建议。
Posts for: #redis
没有 Service Mesh,用 API Gateway 做用户级灰度
没有 Istio/Linkerd 的环境下,Shop Platform 用 Spring Cloud Gateway MVC 的自定义 Predicate + Redis Set + Caffeine 本地缓存,实现按 buyerId 的用户级灰度路由;并讨论配合 OpenFeature 做下游代码路径灰度的演进路径。
电商 Guest-First 购物体验:无需注册也能完整下单
注册门槛往往会抬高结账流失。Shop Platform 现在的做法是 guest JWT 加 Redis 游客购物车(TTL 48 小时),游客订单靠 order_token 追踪,登录后再合并购物车;buyer-portal 和 buyer-app 在这段体验上还有差别。
Spring Boot 3.5 Tracing:接完之后,PII 和采样怎么管
结合一次 Spring Boot 3.5 tracing 接入:自动配置覆盖范围、自定义埋点、Kafka/Redis/DB 组件接入、采样策略、PII 处理,以及用 ArchUnit 约束常见误用。
用 Spring AI + pgvector 给 PSLE 题库做 RAG 检索:新加坡数学 AI 辅导 Phase 2
PSLE 题库接进 Spring AI VectorStore 和 pgvector 之后,RAG 检索能按年级过滤,命中的题目再喂给多 Agent 解题链,重复请求由 Redis 缓存兜住。
Reactive Redis 与 Lettuce SharedLock 的连锁问题:make coverage 卡死排查
集成测试卡在 make coverage 阶段,第一眼看到的是连接池超时,真正让进程挂住的是 Reactive Redis 下 Lettuce SharedLock 的自旋,两层问题得分开修。
Spring Boot 3.5 下的 Redis 用法:Lettuce 连接池、Redisson 锁、Bloom Filter 与 Lua 加载
Redis 在 Shop Platform 里同时承担缓存、限流、分布式锁、Bloom Filter 和 Lua 原子操作,对应要配的是 Lettuce 连接池、序列化策略、Redisson 锁、Bloom Filter 自动配置和 Lua 脚本加载方式。
How a Performance Optimization Caused Cascading Redis Timeouts in Spring WebFlux
A seemingly harmless removal of publishOn(Schedulers.boundedElastic()) led to cascading Redis timeouts in production. This post explains how Spring’s @Cacheable blocks the Netty event loop when used with RedisCacheManager, and why BlockHound failed to catch it.
Spring Boot 3.5 + Java 25 + Cloud Native 系列(六):插件化活动引擎
activity-service 是一个插件化的互动游戏引擎,支撑砸金蛋、抢红包、集卡、虚拟养成这些活动。GamePlugin SPI 留的扩展点、Redis Lua 怎么保证抢红包的原子性、AntiCheatGuard 拦什么、水平扩展的前提是什么,都按当前实现来讲。