
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
分布式 SAGA 模式解析与 Java 实现 摘要:SAGA 是一种分布式事务解决方案,通过将长事务拆分为多个本地事务并定义补偿操作实现最终一致性。本文详解其核心概念、两种实现模式(编排式与协同式)及适用场景,并通过 Java 示例演示协同式 SAGA 实现。示例包含账户扣款和库存扣减两个服务,重点解决幂等性和防悬挂问题,展示事务执行失败时的逆向补偿流程。相比 2PC/TCC,SAGA 更适合长事
本文介绍了基于Apache Curator实现分布式票务系统的关键技术方案。通过Maven引入curator-framework和curator-recipes依赖,简化ZooKeeper连接管理和分布式锁实现。系统采用层次化路径设计,使用EPHEMERAL节点确保会话失效自动释放,通过版本号实现乐观锁控制。核心流程展示了场次级分布式锁与选座操作,采用条件更新(CAS)保证并发安全,设置过期时间防
本文从高可用、性能优化和运维监控三个维度,详细阐述了构建高性能Redis+Lua分布式限流器的关键技术。高可用方面强调Redis集群部署、客户端容错配置和智能降级策略;性能优化重点包括精简Lua脚本、Key分片设计和网络开销控制;运维监控则需关注核心指标监控和动态配置管理。文章提出采用多级防护架构应对高并发场景,并总结了"集群化+原子脚本+智能降级"的核心实施要点,为分布式系统
本文介绍了分布式系统中的资源隔离技术,重点对比了线程池隔离和信号量隔离两种策略。线程池隔离通过独立线程池保护关键服务,适用于网络调用等耗时操作;信号量隔离则通过计数器限制并发数,适合本地资源访问。文章深入分析了AQS框架和Semaphore实现原理,并提供了两种隔离方式的实战代码示例,包括线程池配置、超时控制和优雅关闭等关键点,帮助开发者在高并发场景下提升系统稳定性。更多分布式缓存技术可关注公众号
本文介绍了如何使用JDK自带的jpackage工具将Spring Boot应用打包成原生安装包,解决非技术用户需要安装JDK的痛点。文章详细讲解了环境准备(需JDK 17+及平台相关工具)、构建可执行JAR包、基础打包命令参数说明(包括Windows、macOS和Linux平台的打包示例),以及通过jlink创建精简JRE来优化安装包体积的进阶技巧。最终实现"双击安装即用"的专
凌晨 3 点 OOM,200 并发却堆出 12843 个对象。排查到最后,不是流量的问题,是 ThreadLocal + 线程池的锅。你的项目里,可能也埋着同样的雷。

MySQL RR隔离级别下幻读的真相:快照读与当前读的混合使用会导致幻读出现。纯快照读通过MVCC防止幻读,纯当前读通过Next-Key Lock防止幻读,但当同一事务中先快照读再当前读时,当前读会看到其他事务插入的数据,导致后续查询出现幻行。解决方案包括:统一使用当前读加锁、采用Serializable隔离级别、避免"先读后改"模式或在业务层处理幻读。实际业务中需根据场景选择合适方案。

不要用默认的 SimpleAsyncTaskExecutor。// IO 密集型@Async("notifyThreadPool") // 指定自定义线程池这样 @Async 就会用你的线程池,线程数有上限,不会失控。
回到这次事故:NotifyService 和 OrderService 互相依赖,跑了半年没报错。加了 @Async 之后,因为 @Async 的代理创建器没实现,循环依赖时三级缓存暴露的是原始对象,跟最终代理对象不一致,Spring 检测到后报错。Spring 三级缓存能解决普通 AOP(@Transactional)的循环依赖,但不能解决 @Async区别在于代理创建器是否实现了:@Trans

摘要: Spring Boot Actuator 若配置不当会引发严重安全风险。近期 CVE-2026-22733 漏洞暴露了认证绕过问题,需紧急排查。常见风险包括: 高危端点暴露:如 /env(泄露数据库密码)、/heapdump(内存数据)、/shutdown(远程关机)等未授权访问; 错误配置:使用 include: "*" 或启用 shutdown 功能; 漏洞影响:特定 Spring B








