Changfan.Z

周昌凡

Java 后端开发 · AI Agent 开发 · Vibe Coding 实践者

6 年 Java 后端开发经验,专注于高并发系统设计与微服务架构。具备 AI Agent 工程落地经验(RAG + SSE 流式),熟悉 MCP 协议与 FastAPI 全栈开发。近一年深度实践 Vibe Coding(AI 辅助编程),代码交付效率提升约 3 倍。

核心技术栈

能力标签

高并发设计AI Agent微服务架构RAGMCP性能调优技术文档
01 / 技术栈

医疗检测业务平台

自研任务调度框架 · AI Agent 报告解读 · Redis 基础设施层

核心技术栈

支撑医疗检测业务平台的技术选型

点击标签查看该技术解决的问题与落地方案
业务全景

端到端业务流程图谱

向下滚动,镜头跟随业务流程逐列聚焦点亮 · 结尾拉远纵览全程 · 点击节点看详情

技术难点 1 / 4
难点 1
自研分布式任务调度框架:注解注册 + Redis 调度
业务中存在大量复杂调度需求:第三方报告每 1 分钟轮询、问诊接诊后 10 分钟自动完成、商品定价在指定时间生效、服务重启后需恢复未完成的任务。@Scheduled 固定周期无法表达延迟调度/一次性任务/持久化恢复等模型;用集中路由表(枚举/配置中心)又会把任务与注册表耦合,新增/修改任务要改两处。
解决方案
@TaskExecutor 注解(兼 @Component 注册 Spring Bean)声明式注册,impl 类上注解 = 录入注册表,新增任务只需建类加注解。启动时 ApplicationListener<ContextRefreshedEvent> 扫描 @TaskExecutor → 构建 TaskRegistry(ConcurrentHashMap),类型安全路由,无中央枚举。BaseTask:Redis 存储 `task:{executor}:{id}` → 唯一 @Scheduled 每 5s poll → CompletableFuture.supplyAsync 并发消费。三种调度模型:循环(execute 返回新时间重新入队)、延迟(返回 null 一次消费)、恢复(init 加载 DB 未完成任务,计算剩余时间后 addTask)。异常残留 key 形成隐式重试。
关键代码
// @TaskExecutor 注解声明式注册
@TaskExecutor("thirdPostReportTask")
  ...
展开完整代码 →
14 种任务,5s 精度
项目成果
关键性能指标
0
自研任务类型
0
日志采集类型
0
Redis 应用模式
0+
外部系统集成

滚动到顶部可切换其他项目

博客

联系

想聊聊?

微信适合快速沟通,邮箱适合正式邀约

@邮箱ohofun@outlook.com