基于go语言的轻量级分布式任务调度平台
1.xxl-job的调用严重依赖于数据库,所有业务都是进行扫库
2.PowerJob解决了xxl-job的问题,但是它的用户体系很不友好
二、进度规划
1.xll-job调度采用grpc+pb,因为grpc支持的语言很多,接入起来也很简单
2.采用gin会使项目更加轻量级
3.前期采用Robfig进行cron库,后期打算自己实现实现或者采用cronexpr
4.前期预计只支持cron进行定时任务调用,后期支持cron和固定速度两种任务模式
5.最后可能会调研rust的可行性,因为rust性能更好,并且rust支持线程+协程的调度方式,可以使系统更加稳定
三、Robfig缺点:
1.Robfig所有的任务管理都是单机管理,对分布式调度十分的不友好
2.Robfig只支持六位数的cron表达式,目前项目下七位数的表达式都会被转换成六位(去除表达式最后一位年份位)
四、cron表达式区别:
1.六位: 秒 分钟 小时 天(月) 月份 星期几
2.七位: 秒 分钟 小时 天(月) 月份 星期几 年份
五.下面是一些go的cron库 https://github.com/reugn/go-quartz https://github.com/gorhill/cronexpr ini https://github.com/go-ini/ini cobra https://github.com/spf13/cobra email https://github.com/jordan-wright/email
软件架构说明 gin+grpc
- git clone https://gitee.com/a-little-dragon/xll-job
- cd xll-job
- go build
- xll-job.exe
- xxxx
- xxxx
- xxxx
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
- 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
- Gitee 官方博客 blog.gitee.com
- 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
- GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
- Gitee 官方提供的使用手册 https://gitee.com/help
- Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/