XTimer定时微服务项目

Xtimer定时微服务

项目背景

在学校社团中,有给社团成员发送活动通知的任务需求

有定期执行某项任务的需求,比如每周末举办一次线下活动,每个月举行一次团建

再比如,我有一个任务需要设置定时发布

定时微服务调研对比

方案 不足点
JavaTimer 单线程,任务堆积
RocketMq 可以作为本项目的优化
xxl-job 对于简单的定时任务需求过于复杂、可能需要额外开发和维护成本
Quartz 对于简单的定时任务需求过于复杂、资源消耗较大,特别是在大规模任务调度时。

本项目特点:功能聚焦,接入轻量,维护成本低

架构设计方法论

架构设计方法

架构设计

存储优化

  1. 全表扫描
  2. 基于redis中ZSET排序扫描,时间复杂度O(n)->O(log n)
  3. 横向分治,通过时间范围分片,减少查询涉及的任务数量

横向分治

  1. 纵向分治,通过定时任务分桶,提高并发度

纵向分治

定时任务调度流程

一句话总结:服务架构: 3 个模块 + 2 个协程池

流程中线程池作用关系

定时任务生成流程

一句话总结:定时任务创建与 webServer 和 migrator 2 个模块有关

迁移模块执行流程
posted @   青墨染烟雨  阅读(65)  评论(4编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示