kafka中的时间轮实现

Kafka中的时间轮是一种用于实现定时清理消息过期心跳超时等功能的定时任务调度机制。

通过时间轮可以避免在大量的定时任务中进行逐个扫描,可以实现接近O(1)的延迟任务管理,降低了内存和CPU的消耗,比较适合管理大量短时和中长期的定时任务

时间轮,它可以看成是一个环形数组,其中,每个槽表示一个时间间隔。

Kafka会在时间轮的每个槽中根据任务的到期时间放置延迟任务,当时间轮转到任务所在的槽时,就执行该槽内的任务。

如果存在到期未完成的任务,则会被重新分配到下一轮

相关推荐
互联网中的一颗神经元1 小时前
小白python入门 - 39. 采集流水线小项目
开发语言·python
Wang's Blog1 小时前
Go-Zero 项目开发22:用户群聊功能的实现与完善
开发语言·golang
Ai拆代码的曹操2 小时前
Spring 事务 REQUIRES_NEW 嵌套调用:连接池翻倍的秘密
java·后端·spring
a1117762 小时前
坦克大战3D Three.js 3D (开源项目)
开发语言·javascript·3d
动恰客流统计2 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
Ivanqhz3 小时前
Rust &‘static str浅析
java·前端·javascript·rust
Wang's Blog3 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
weixin_419658315 小时前
Docker 搭建 Jenkins 服务
java·docker·jenkins
captain3766 小时前
多线程线程安全问题
java·java-ee
吃好睡好便好6 小时前
MATLAB中图像的读取、写入和显示
开发语言·图像处理·学习·计算机视觉·matlab