DelayedTaskQueue 是在ConsumerNetworkClient类中使用,是Kafka自己实现的一个很重要的数据结构。

  • 官方解释:延时队列,Tracks a set of tasks to be executed after a delay.
  • 我的理解:从DelayedQueue中把请求拿出来发送出去(只有时间到了,Task才能从Queue中拿出来)。

    与Java的DelayQueue 有什么不同?DelayQueue,无界的阻塞队列,和普通的队列不同的是:里面的元素只有时间过期了之后才能取出来,头元素是已经过期的元素中最早过期的。如果没有过期的元素,则poll方法返回null.但是size方法返回的所有的元素,包括过期的和没有过期的。

1.内部数据结构

主要是:PriorityQueue (支持排序的Queue)

TODO

Kafka 0.10 DelayedTaskQueue的用法和实现的更多相关文章

  1. Kafka 0.10问题点滴

    15.如何消费内部topic: __consumer_offsets 主要是要让它来格式化:GroupMetadataManager.OffsetsMessageFormatter 最后用看了它的源码 ...

  2. Kafka 0.10.1版本源码 Idea编译

    Kafka 0.10.1版本源码 Idea编译 1.环境准备 Jdk 1.8 Scala 2.11.12:下载scala-2.11.12.msi并配置环境变量 Gradle 5.6.4: 下载Grad ...

  3. Kafka 0.10 KafkaConsumer流程简述

    ConsumerConfig.scala 储存Consumer的配置 按照我的理解,0.10的Kafka没有专门的SimpleConsumer,仍然是沿用0.8版本的. 1.从poll开始 消费的规则 ...

  4. Kafka 0.10.0

    2.1 Producer API We encourage all new development to use the new Java producer. This client is produ ...

  5. Kafka 0.10.1.1 特点

    1.Consumer优化:心跳线程可作为后台线程,提交offset,剥离出poll函数 问题:0.10新设计的consumer是单线程的,提交offset是在poll中.本次的poll调用,提交上次p ...

  6. kafka 0.10.2 消息消费者

    package cn.xiaojf.kafka.consumer; import org.apache.kafka.clients.consumer.ConsumerConfig; import or ...

  7. kafka 0.10.2 消息生产者(producer)

    package cn.xiaojf.kafka.producer; import org.apache.kafka.clients.producer.*; import org.apache.kafk ...

  8. kafka 0.10.2 消息生产者

    package cn.xiaojf.kafka.producer; import org.apache.kafka.clients.producer.KafkaProducer; import org ...

  9. kafka 0.10.2 cetos6.5 集群部署

    安装 zookeeper http://www.cnblogs.com/xiaojf/p/6572351.html安装 scala http://www.cnblogs.com/xiaojf/p/65 ...

随机推荐

  1. ionic2添加 android平台出现的问题

    nodejs版本不宜过高  cordova版本不宜过高 此情况应采取 cordova platform add android --nofetch

  2. jetty 介绍以及小例子

    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将 ...

  3. loadrunner基础学习笔记六-运行负载

    controller视图: 场景组 窗格:查看场景组内vuser状态,使用窗格右侧的按钮可以启动.停止和重置场景,查看各个vuser的状态,通过手动添加更多vuser增加场景运行期间应用程序的负载 场 ...

  4. face detection,landmark, recognition with deeplearning

    人脸特征点定位 Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Neural Networks c ...

  5. appium学习记录 elements默认获取第一个元素

    封装 初始配置时候 要当做参数传入 element 发送的是一个元组 2  下标定位 当用elements进行定位时候 同时又有很多元素时候 默认获取第一个,但我们的元素是在后面时候 例如第四个 el ...

  6. Beyond Compare 4过期

    试用期到期操作:找到beyond Compare 4文件夹下面的BCUnrar.dll,将其删掉或者重命名,再重新打开接着使用!

  7. BZOJ4196[Noi2015]软件包管理器——树链剖分+线段树

    题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个 ...

  8. BZOJ4555 HEOI2016/TJOI2016求和(NTT+斯特林数)

    S(i,j)=Σ(-1)j-k(1/j!)·C(j,k)·ki=Σ(-1)j-k·ki/k!/(j-k)!.原式=ΣΣ(-1)j-k·ki·2j·j!/k!/(j-k)! (i,j=0~n).可以发现 ...

  9. JPQL设置自增长、只读、文本类型等的注解

    JAVA中使用JPQL 一种设置id自动生成,自增长的方法 private long id; @Id @GeneratedValue(generator="_native") @G ...

  10. python构建bp神经网络_曲线拟合(一个隐藏层)__1.可视化数据

    1.将数据写入csv文件,应该可以python代码直接实现数据集的写入,但我对文件读取这块不太熟练,等我成功了再加上,这里我直接手写将数据集写入Excel 2.然后把后缀改成.csv就可以了,利用pa ...