V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
palemoky
V2EX  ›  问与答

Kafka 有了时间轮,为什么不支持延时队列?

  •  
  •   palemoky · 2022-03-28 11:40:48 +08:00 · 955 次点击
    这是一个创建于 1005 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我理解定时任务是绝对时间,而延时任务就是相对时间,既然 Kafka 实现了时间轮,为什么又不支持延时队列呢?

    3 条回复    2022-03-29 15:59:27 +08:00
    so1n
        1
    so1n  
       2022-03-28 11:45:13 +08:00
    由公众号文章开发的 Kafka 已经支持延时队列
    night98
        2
    night98  
       2022-03-28 17:16:11 +08:00
    定时任务和延时任务都是绝对时间,kafka 实现了时间轮,但延时队列这玩意还是比较复杂的,因为延时任务存在不可预期性,比如一个 task 是十分钟后执行,还有一个 task 是半年或者一年后执行,这种情况下直接使用单个时间轮会导致圈数过大,而且一个槽中的所有任务分发也是比较复杂的逻辑,而且 kafka 的定位是实时流处理平台,这种业务支持也没啥太大好处。
    palemoky
        3
    palemoky  
    OP
       2022-03-29 15:59:27 +08:00
    @night98 kafka 不是有层级时间轮吗?即使延时个半年一年会有啥影响吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:04 · PVG 05:04 · LAX 13:04 · JFK 16:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.