SpringBoot 登录设备管理系统 示例工程
   一个基于SpringBoot的登录设备管理系统,支持用户查看所有登录设备并强制踢下线。 功能特性 多设备登录管理:支持同一账号多设备同时登录 设备列表查看:用户可查看所有已登录设备 强制踢下线:一键踢出其他设备会话 设备信息识别:自动识别设备类型、IP地址等 会话统计:实时统计活跃、已踢出、已登出会话 JWT认证:基于JWT的无状态认证机制 Redis缓存:使用Redis存储会话信息 技术栈 Spring Boot 3.2.0 Spring Secur ......
文章源码   |  2026-03-02   0 评论   186 浏览

长时间任务完成实时通知用户?SpringBoot异步任务回调+WebSocket来搞定
   前言 公司系统有一个数据导出功能,用户导出大数据量时需要等待10多分钟。当时我们采用轮询方式让用户检查任务状态,用户体验极差,用户经常重复点击导致系统压力增大。 我们花了几天时间,基于SpringBoot开发了一套异步任务结果回调和WebSocket通知系统,实现了长时间任务完成实时告知用户。现在用户提交任务后可以做其他事情,任务完成时会实时收到通知,大大提升了用户体验。 今天就把这套方案分享给大家。 问题背景 在业务系统中,经常需要处理一些耗时较长的任务, ......
SpringBoot   异步任务回调   WebSocket   |  2026-03-01   0 评论   172 浏览

为什么不推荐使用@Transactional声明事务?这些陷阱你必须知道
   导语 在Spring项目开发中,@Transactional注解几乎是处理事务的标准配置。它简单易用,一行代码就能搞定事务管理,深受开发者喜爱。但你知道吗?在某些场景下,@Transactional可能会成为性能瓶颈或导致难以排查的bug。今天,我们就来深入探讨为什么在某些情况下不推荐使用@Transactional声明事务,以及如何避免这些陷阱。 一、@Transactional的甜蜜陷阱 1.1 看起来很美好 @Service public class ......
事务   |  2026-03-01   0 评论   140 浏览

SpringBoot + 分布式 ID + 幂等令牌:跨服务调用防重复提交的终极方案
   一、跨服务调用的重复提交噩梦 上周,一位朋友找我吐槽:他们公司的订单系统又出问题了。 用户在APP上下单,点击"提交"按钮后,因为网络延迟,页面没有立即响应,用户以为没提交成功,就又点击了一次。结果系统创建了两个相同的订单,用户收到了两条订单确认短信,商家也收到了两条订单通知。 更糟糕的是,这个问题不是第一次出现了。之前在支付、退款、发货等环节都发生过类似的重复操作问题。 "我们的系统是微服务架构,订单服务、支付服务、库存服务都是独立部署的,"朋友无奈地说, ......
SpringBoot   分布式   幂等令牌   防重复提交   |  2026-02-26   0 评论   166 浏览

SpringBoot + 任务依赖 DAG 编排:A 任务成功后自动触发 B、C,并行执行提效率
   导语 在日常开发中,你是否遇到过这样的场景: 数据导入任务完成后,需要自动触发数据清洗、数据分析等多个后续任务 报表生成需要依赖多个数据源的准备完成 某些任务可以并行执行,而另一些必须串行等待 传统的定时任务或简单的队列很难优雅地处理这种复杂的任务依赖关系。今天,我们就来聊聊如何用SpringBoot + DAG(有向无环图)实现一个强大的任务编排系统,让A任务成功后自动触发B、C任务,并行执行大幅提升效率。 一、为什么需要DAG任务编排? 1.1 传 ......
SpringBoot   任务依赖   DAG编排   |  2026-03-01   0 评论   171 浏览

SpringBoot + 动态 Cron 表达式 + Web 界面修改:运营人员可自助调整任务时间
   问题背景 在传统的Spring Boot应用中,定时任务通常使用@Scheduled注解来实现,Cron表达式直接硬编码在代码中。这种方式有以下几个问题: 修改不便:每次调整任务执行时间都需要修改代码,重新部署应用 运营依赖开发:运营人员无法自主调整任务时间,需要依赖开发人员 缺乏灵活性:无法根据业务需求动态调整任务执行计划 缺乏监控:任务执行状态和日志难以管理和查看 这些问题在业务快速变化的场景下尤为突出,比如促销活动期间需要临时调整任务执行时间,或者 ......
SpringBoot   动态Cron表达式   |  2026-02-28   0 评论   155 浏览

SpringBoot + 动态 Cron 表达式 + Web 界面修改 示例工程
   项目简介 本项目是一个基于Spring Boot的动态任务调度示例工程,演示了如何实现动态Cron表达式修改和Web界面管理,让运营人员可以自助调整任务执行时间。 核心功能 动态 Cron 表达式:将cron表达式存储在数据库中,支持运行时动态修改 Spring Task 调度:使用Spring的TaskScheduler,支持动态添加、修改、删除定时任务 Web 界面管理:提供直观的Web界面,让运营人员可以自助调整任务时间 任务执行日志:记录任务执行状 ......
文章源码   |  2026-02-28   0 评论   171 浏览

SpringBoot + 冷热数据分离 + 自动归档:历史订单自动迁移至归档库,主库轻量化
   前言 上个月,公司电商平台的订单查询接口突然变慢,用户投诉不断。排查后发现,订单表已经有几百万条数据,单表查询性能急剧下降。DBA建议我们尽快进行数据归档,但手动操作风险大、效率低。 我们花了一周时间,基于SpringBoot开发了一套冷热数据分离和自动归档系统,实现了历史订单自动迁移至归档库,主库瞬间轻量化。现在查询性能提升了80%,运维效率也大大提高。 今天就把这套方案分享给大家。 问题背景 在高并发电商系统中,数据量快速增长是一个常见问题,经常会遇到以 ......
SpringBoot   冷热数据分离   |  2026-02-28   0 评论   149 浏览

SpringBoot + 全文检索 + ngram 分词:中文模糊搜索响应毫秒级,支持错别字容错
   一、中文搜索的痛点 上周,一位做电商的朋友找我抱怨:他们的商品搜索功能太烂了。"用户搜索 'iPhone 13',结果只出来几个完全匹配的,"他说,"如果用户输入 'iphone13'、'苹果13'、'IPHONE 13',甚至打错字成 'ihpone 13',要么找不到结果,要么响应很慢。" 我打开他们的APP试了一下,确实如此: 搜索 "iPhone 13":找到10个结果,响应时间300ms 搜索 "iphone13":找到0个结果 搜索 "苹果13 ......
SpringBoot   全文检索   ngram分词   |  2026-02-27   0 评论   154 浏览

SpringBoot + MySQL 唯一索引 + ON DUPLICATE KEY:高并发注册防重,性能提升 5 倍
   一、高并发注册的噩梦 公司APP正在做推广活动,用户注册量激增,每秒有上千个注册请求。问题也随之而来: 重复注册:同一个用户账号被注册了多次 数据不一致:用户表中有大量重复的邮箱和手机号 性能下降:注册接口的响应时间从100ms飙升到了500ms以上 数据库压力:MySQL的CPU使用率居高不下 已经在代码里做了查重逻辑,但高并发下还是会出现重复注册。"这样的场景,作为后端开发的你,是不是也遇到过? 二、传统方案的局限性 为了防止重复注册,我们通常会使用 ......
SpringBoot   MySQL   高并发注册   |  2026-02-27   0 评论   178 浏览

P7之后往哪走?架构师 vs 技术管理 vs 独立专家的决策模型
   前言 工作5-8年后,技术能力已经达到了相当的高度,但下一步该怎么走?是转向架构师路线、技术管理路线,还是成为独立技术专家?这是一个典型的"职业天花板"问题。今天我们就来深入分析这三条路径的特点、要求和发展前景,帮你找到最适合自己的方向。 当前处境:P7的困境与机遇 P7级别的工程师通常具备以下特征: 5-8年工作经验 熟练掌握主流技术栈 能够独立负责复杂模块 具备一定的团队协作能力 但也面临着一些挑战: 技术深度瓶颈:现有技能已趋于成熟,突破需要新方 ......
架构师   技术管理   独立专家   |  2026-02-27   0 评论   213 浏览

SpringBoot + Redis 多级缓存 + L1/L2 自动同步:本地缓存与 Redis 一致性保障
   一、缓存一致性的噩梦 之前参与过一个电商平台,使用了SpringBoot + Redis缓存架构。为了提高性能,在应用层也加入了本地缓存(Caffeine),形成了二级缓存架构: L1缓存:本地缓存(Caffeine),响应速度快 L2缓存:Redis缓存,支持分布式 原本以为这样可以兼顾性能和一致性,但实际运行中却出现了严重的缓存不一致问题。 用户在APP上看到的商品价格和库存信息经常与实际不符,有时候明明已经缺货的商品,页面上还显示有库存,导致用户下 ......
SpringBoot   Redis多级缓存   本地缓存   Redis   |  2026-02-26   0 评论   140 浏览

SpringBoot DAG任务编排系统
   一个基于SpringBoot的DAG(有向无环图)任务编排系统,支持任务依赖管理、自动触发、并行执行等功能。 功能特性 DAG任务编排: 支持复杂的任务依赖关系定义 自动触发机制: A任务成功后自动触发B、C任务 并行执行: 无依赖的任务并行执行,提升效率 可视化监控: 提供Web界面实时监控任务执行状态 拓扑排序: 自动检测任务依赖关系,确保正确执行顺序 失败重试: 支持任务失败后的自动重试机制 循环依赖检测: 自动检测并阻止循环依赖的DAG创建 技术 ......
文章源码   |  2026-02-28   0 评论   189 浏览

SpringBoot + 全文检索 + ngram 分词 示例工程
   项目简介 本项目是一个基于Spring Boot的中文模糊搜索示例工程,演示了如何使用MySQL的全文检索和ngram分词器来实现高性能、支持中文分词和错别字容错的搜索功能。 核心功能 全文检索 :使用MySQL的全文检索功能,提高搜索性能 ngram分词 :使用MySQL的ngram分词器,支持中文分词 错别字容错 :结合编辑距离算法,支持错别字搜索 缓存优化 :使用Redis缓存搜索结果,提高响应速度 异步事件 :使用Spring事件机制,处理商品更新 ......
SpringBoot   全文检索   ngram分词   |  2026-02-27   0 评论   159 浏览

失败事务总是漏处理?教你用SpringBoot实现事务补偿+人工干预后台
   前言 上周生产环境出了个事故,订单系统在处理一笔重要订单时,支付服务调用失败了,虽然我们有异常处理,但后续的库存回滚、积分扣除等操作没有执行,导致数据不一致。 当时只能手动修复数据,费了很大劲才把数据恢复过来。这让我意识到,仅仅捕获异常还不够,我们需要一个完整的事务补偿机制,让失败的事务可查、可重试、可跳过。 今天就分享一下我们的解决方案。 问题背景 在分布式系统中,事务失败是不可避免的,经常会遇到以下问题: 事务失败后处理遗漏:异常处理后,某些操作没有执 ......
SpringBoot   事务补偿   人工干预后台   |  2026-02-25   0 评论   147 浏览