V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaocaiji111
V2EX  ›  程序员

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

  •  
  •   xiaocaiji111 · 70 天前 · 1807 次点击
    这是一个创建于 70 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    当然了,如果你用 K8s 的话,直接部署一个 cronjob 就完了。
    crackidz
        6
    crackidz  
       70 天前
    xxl-job 你手撸一个也没多复杂啊...
    crackidz
        7
    crackidz  
       70 天前
    @crackidz 我的问题,没看到你说时间很紧了...
    gowk
        8
    gowk  
       70 天前
    happy32199
        9
    happy32199  
       70 天前 via Android
    gocron 怎么没人提 是什么功能实现不了吗?
    Lychee0
        10
    Lychee0  
       70 天前   ❤️ 1
    asynq
    transcendent
        11
    transcendent  
       70 天前
    xiaocaiji111
        12
    xiaocaiji111  
    OP
       69 天前
    @cabing 看到了,感谢,golang 版本的执行器,但是几年没更新了,一般不考虑。
    xiaocaiji111
        13
    xiaocaiji111  
    OP
       69 天前
    @jworg 我看下,目前想法也是通过 mq 去投放分片数据,消费端去执行,但是任务管理呀,配置,查看等等,这是上面要求的,用不用得到另说,你得有,难搞
    xiaocaiji111
        14
    xiaocaiji111  
    OP
       69 天前
    @happy32199 感谢,这只是个库,要实现的太多
    xiaocaiji111
        15
    xiaocaiji111  
    OP
       69 天前
    @Lychee0 thanks
    xiaocaiji111
        16
    xiaocaiji111  
    OP
       69 天前
    @gowk 我看看,thanks
    xiaocaiji111
        17
    xiaocaiji111  
    OP
       69 天前
    @cuebyte thanks ,目前是准备用 mq 实现
    xiaocaiji111
        18
    xiaocaiji111  
    OP
       69 天前
    xiaocaiji111
        19
    xiaocaiji111  
    OP
       69 天前
    @crackidz 哈哈哈,是的,时间不是开发能左右的
    xiaocaiji111
        20
    xiaocaiji111  
    OP
       69 天前
    @transcendent thanks ,我研究下
    masterclock
        21
    masterclock  
       69 天前
    temporal
    xiaocaiji111
        22
    xiaocaiji111  
    OP
       69 天前
    @masterclock 看起来可以,我研究下
    wogogoing
        23
    wogogoing  
       69 天前   ❤️ 1
    我自己实现的一个简单的计划任务库,也用在了我司的生产环境。up 可以瞅瞅: https://github.com/keepchen/schedule
    tpopen
        24
    tpopen  
       69 天前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1169 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:59 · PVG 06:59 · LAX 14:59 · JFK 17:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.