关键字:XXL-JOB、XxlJobHelper、XxlJobContext、ThreadLocal、InheritableThreadLocal、线程池、日志上下文、TransmittableThreadLocal 0.前言、问题背景: 在开发生产数据模块的某个定时任务时,需要使用线程池来按工厂并发处理。这里由于本地日志不便于查询,使用XxlJo…
在业务开发中,我们经常会拿到这样一类数据: { "supplierId": 56, "supplierName": "雄安铁建集团", "dailyInAmount": { "2025-09-14": 170.00, "2025-09-13": 180.00, "2025-09-12": 190.00, "2025-09-11": 200.00, …

0.XXL-JOB 是什么: 一个分布式任务调度平台(类似定时任务的集群版),用于统一管理、调度和执行各类定时任务。 仓库地址:xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) 特点: 可视化管理任务(新增、修改、执行日志一目了然)。 分布式部署(…
在分布式系统中,我们经常需要生成全局唯一 ID:订单号、用户号、日志追踪 ID……如果还在用数据库自增 ID 或 UUID,要么性能不够,要么不易排序、浪费存储空间。下面是一种Redis 自增 + 时间戳的高性能 ID 生成器实现方式,轻量、简单。 1. 为什么需要全局唯一 ID 生成器? 在单体应用时代,我们常用数据库的自增 ID。但在分布式架构…
针对类似于“秋天的第一杯奶茶”导致的爆单问题场景,设计并实现 高峰期商户动态限流与排队机制:基于 Redis 阈值控制 + RocketMQ 异步队列,超过阈值的订单进入排队并动态释放,前端实时展示等待进度,有效降低店员骑手负载,提升用户满意度,相比单纯 Redis 队列方案可靠性更高。 一、核心目标与整体流程 核心目标:在商户处理能力有限的情况下…

一、引言:为何要将 AOP 动态代理融入 Bean 生命周期 在自定义 AOP 核心功能(例如基于 JDK 或 Cglib 代理)之后,单元测试能验证切面拦截机制是否生效,但这离实际应用还差一大步。为提升框架实用性,我们需要将 AOP 能力无缝嵌入 Spring 容器,让用户仅通过配置即可使用,而无需手动处理代理逻辑(基于 Proxy.newPro…

面向切面编程(AOP,Aspect-Oriented Programming)是一种在软件开发中用于解耦横切关注点的编程范式,通过在不修改业务逻辑的前提下,将统一职责(如日志记录、性能监控、安全校验等)封装到“切面”中。在 Spring 框架中,AOP 是核心机制之一,而其底层的实现依赖于 动态代理技术。本教程将基于 JDK 动态代理与 Cglib…

学习xfg的版本:fuzhengwei/small-spring: 🌱《 Spring 手撸专栏》,本专栏以 Spring 源码学习为目的,通过手写简化版 Spring 框架,了解 Spring 核心原理。在手写的过程中会简化 Spring 源码,摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下…

0 准备工作及前置知识 导出初始化文件并上传到gitee CMD137/hm-dianping 1 短信登录 1.1 发送验证码 public Result sendcode(String phone, HttpSession session) { //1.校验手机号码 if(RegexUtils.isPhoneInvalid(phone)) re…
0 基础配置 dockerhub官方镜已经被墙、阿里云镜像也只对阿里云服务器提供镜像、清华镜像配置不了。 目前使用daocloud镜像:阿里云镜像源无法访问?使用 DaoCloud 镜像源加速 Docker 下载(Linux 和 Windows 配置指南)_m.daocloud.io-CSDN博客 若之后被墙、考虑个人搭镜像源。 1.常用命令: 命…