Reader

rust 重写 xxl-job 的项目 ratch-job v0.1.5 版本发布,控制台支持鉴权与数据权限管控。

| V2EX - 技术 | Default

v0.1.5 版本更新内容

  • 新增:增加缓存功能以支持用户鉴权信息缓存;
  • 新增:控制台增加用户管理功能模块;支持用户基本数据管理,支持功能权限、应用数据权限管理;
  • 新增:控制台开启登陆鉴权;
  • 新增:控制台支持功能权限;管理员:拥有所有功能权限,开发者拥有除了用户管理外的功能权限;访客只拥有查询权限;
  • 新增:控制台支持数据权限;用户只能查询到其有权限的应用、任务数据;用户只能操作其有权限的应用、任务数据。
  • 优化:控制台应用(执行器)支持实例注册类型设置为手动录入,可手动指定执行器列表。
  • 修复:修复应用模块 raft snapshot 时指定表名不正确的问题。

项目地址: ratch-job

项目计划

  1. 完成一个包含核心内容,满足大部分用户使用场景的初始正式版本;
  2. 追平 xxl-job admin 现有的功能;
    1. 支持任务管理
    2. 支持按任务执行计划和指定的触发策略调度任务
    3. 支持查看任务执行记录
    4. 支持查看执行器对应的任务执行日志
    5. 控制台支持用户管理、登陆验证与权限控制
  3. 完全兼容 xxl-job 协议前提下增强调度平台功能
    1. 任务失败重试支持配置对应的超时失败、重试次数与重试间隔;( xxl-job 不支持配置重试间隔)
    2. 控制台触发支持指定执行器进行触发;
    3. 调度类型计划支持固定延时调度:上一个任务完成后延时固定秒数后新触发一次任务;
    4. 任务调度失败,通过内置消息监听中心支持配置多种渠道通知;
    5. 支持任务导入、导出
    6. 支持应用数据备份、恢复
    7. 支持 open api 管理 ratch-job 的任务调度;目前核心接口已完成,待增加认证机制与对应的文档;
    8. 支持 DAG 调度
  4. 需要增强协议后增加功能 (需要等上面的内容稳定后才会开始)
    1. 支持自定义分片任务;(目前 xxl-job 只有全量分片任务)
    2. 移除任务平台主动对执行器服务发起请求的网络路由强依赖,需要使用类似 grpc 这类的长链接协议;

性能

环境 任务数 任务调度 tps cpu 使用率(单核占比) 内存(M)
docker 100 100 5.2% 20M
ubuntu 1000 1000 32% 80M
mac m1 2000 2000 18% 90M
ubuntu 5000 5000 107% 270M
ubuntu 10000 10000 220% 810M