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

用 kafka 设计一个任务调度方案

  •  
  •   MatthewHan · 26 天前 · 2133 次点击

    这周领导交代了一个任务,关于我们平台智能化工具多租户调用需要设计一个任务调度平台,该平台满足以下特点:

    1.多个智能化工具还未部署,工具处理量有限,最基本的异步排队消息队列,支持任务阻塞; 2.优先级调用,不同租户下用户调用智能化工具的优先级不同,先排队的任务可能会被后进的任务插队(未细化); 3.任务处理消息结果反馈与查询; 4.....

    本人没有在实际的互联网或者软件公司实习、工作过,在这部分没有什么经验,正处于一个学习中的小白,请教一下大家有没有比较优雅的方案,或者说能够给点建议和观点谢谢,用 kafka 实现是否能够完全满足目前以及今后的需求?

    15 回复  |  直到 2019-08-24 17:31:47 +08:00
        1
    MatthewHan   26 天前
    😢
        2
    wysnylc   26 天前
    xxl-job 一个成熟的分布式任务调度平台
        3
    wysnylc   26 天前
    等等,你这个不是用框架能解决的,这是业务需求!
        4
    autogen   26 天前
    这个一般都是塞 DB,再用另一个程序查 DB 做任务
        5
    caoyouming   26 天前
    airflow 分布式任务调度系统了解一下?
        6
    lhx2008   26 天前 via Android
    塞 DB+死循环就行,没有那么复杂
        7
    Takamine   26 天前 via Android
    你们是要做一个平台,Kafka 只是一个中间件,这是是两个概念吧。
        8
    luozic   26 天前
    kafka 是一个消息队列,调度之后的消息处理倒是可以扔给 kafka,前面的调度还是得你自己搞
        9
    jswh   26 天前
    你这是业务需求 + 1
    kafka 这种只是消息队列,不会管到这么细致的。
        10
    EastLord   26 天前
    azkaban?
        11
    MatthewHan   26 天前
    @lhx2008 这样对资源的消耗怎么样?
        12
    jsnjfz   26 天前
    没有开发经验。。。只能求助外力了吧
        13
    wind3110991   26 天前
    楼上很多答非所问,你这个用 kafka 或者 redis 调度都是可以的,就是抽象成一个生产者消费者模型就好。
    kafka 消息队列中间件最大的好处,就是可以解耦复杂系统之间的依赖关系,
    设计多个 Topic,用来存放不同优先级的消息,消费者端优先处理高优先级 topic 即可,你这个都不需要保证消息先后顺序。
    消息处理后的结果,看数量级是否巨大,较小百万以下,直接 Mysql 分表搞定,千万上亿量级用 Hbase 或者 ES 来存储和查询,涉及分布式计算协同和汇总结果的,考虑用 kafka stream 或者 flink 方案。
        14
    reus   25 天前
    向你领导提一个建议,招一个专业人士来做专业的工作
        15
    luozic   25 天前
    锤子的确可以通过别的方式模拟别的东西,但是啥都用锤子 mock,请问啥叫 DDD。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2435 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 00:37 · PVG 08:37 · LAX 17:37 · JFK 20:37
    ♥ Do have faith in what you're doing.