Kafka时间轮的设计

Kafka中存在大量的延迟操做,好比延迟生产、延迟拉取以及延迟删除等。Kafka并无使用JDK自带的Timer或者DelayQueue来实现延迟的功能,而是基于时间轮自定义了一个用于实现延迟功能的定时器(SystemTimer)。 JDK的Timer和DelayQueue插入和删除操做的平均时间复杂度为O(nlog(n)),并不能知足Kafka的高性能要求,而基于时间轮能够将插入和删除操做的时间复
相关文章
相关标签/搜索