求助!各位使用 go 开发业务系统的小伙伴,分布式作业如何实现的?

109 天前
 xiaocaiji111

目前调研了市面上比较完备的作业框架,比如 xxl-job,elastic-job,power-job 等等都是 java 的。如果使用 github 上的 cron 库,实现想要的功能比较耗费精力,时间不允许,业务要按时上线。请问大家是怎么做的,有没有比较完备的类似 java 这些框架的方案?

1894 次点击
所在节点    程序员
24 条回复
mbeoliero123
109 天前
要快就 cron + 单机 + 配置(考虑动态配置),要全你得自己开发一套,其实也不复杂,加锁 + db 存储,但是没必要
cabing
109 天前
xxl-job 也有 golang 版本的啊。只要部署下数据库,部署下项目就行。使用 golang 的 sdk 接入就行。小型项目的神器。
cabing
109 天前
@cabing 这个是指 golang 的 sdk 。这种部署软件不用 java 开发啥的,只需要部署就行。简单功能也不用二次开发。
jworg
109 天前
https://github.com/hibiken/asynq 这个可以不,作者是谷歌的,代码质量还行,依赖 redis
cuebyte
109 天前
你可以用一个简单的 cronjob 发送 curl POST 请求,收到请求的 server 运行作业;
也可以以同样的思路用 queue 来实现。

当然了,如果你用 K8s 的话,直接部署一个 cronjob 就完了。
crackidz
109 天前
xxl-job 你手撸一个也没多复杂啊...
crackidz
109 天前
@crackidz 我的问题,没看到你说时间很紧了...
gowk
109 天前
happy32199
109 天前
gocron 怎么没人提 是什么功能实现不了吗?
Lychee0
109 天前
asynq
transcendent
109 天前
xiaocaiji111
109 天前
@cabing 看到了,感谢,golang 版本的执行器,但是几年没更新了,一般不考虑。
xiaocaiji111
109 天前
@jworg 我看下,目前想法也是通过 mq 去投放分片数据,消费端去执行,但是任务管理呀,配置,查看等等,这是上面要求的,用不用得到另说,你得有,难搞
xiaocaiji111
109 天前
@happy32199 感谢,这只是个库,要实现的太多
xiaocaiji111
109 天前
@Lychee0 thanks
xiaocaiji111
109 天前
@gowk 我看看,thanks
xiaocaiji111
109 天前
@cuebyte thanks ,目前是准备用 mq 实现
xiaocaiji111
109 天前
xiaocaiji111
109 天前
@crackidz 哈哈哈,是的,时间不是开发能左右的
xiaocaiji111
109 天前
@transcendent thanks ,我研究下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1070027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX