摘要: PIDRateEstimator是Spark Streaming用来实现backpressure的关键组件。 看了一些博客文章,感觉对它的解释都没有说到要点,还是自己来研究一下比较好。 首先,需要搞清楚的一个问题是Spark Streaming的backpressure是想让系统达到怎么样的一种状态 阅读全文
posted @ 2018-08-30 22:11 devos 阅读(760) 评论(0) 推荐(0) 编辑
摘要: Kafka添加了事务机制以后,consumer端有个需要解决的问题就是怎么样从收到的消息中滤掉aborted的消息。Kafka通过broker和consumer端的协作,利用一系列优化手段极大地降低了这部分工作的开销。 问题 首先来看一下这部分工作的难点在哪。 对于isolation.level为r 阅读全文
posted @ 2018-08-30 22:05 devos 阅读(8397) 评论(1) 推荐(2) 编辑
摘要: 对于0.10.1以上版本的kafka, 如何从外部重置一个运行中的consumer group的进度呢?比如有一个控制台,可以主动重置任意消费组的消费进度重置到12小时之前, 而用户的程序可以保持运行状态,无需下线或重启。 需要这么几个步骤: 1. 加入这个group 2. 踢掉所有其它group 阅读全文
posted @ 2017-07-23 10:24 devos 阅读(714) 评论(0) 推荐(0) 编辑
摘要: org.apache.kafka.common.client.Selector实现了Selectable接口,用于提供符合Kafka网络通讯特点的异步的、非阻塞的、面向多个连接的网络I/O. 这些网络IO包括了连接的创建、断开,请求的发送和接收,以及一些网络相关的metrics统计等功能。 所以,它 阅读全文
posted @ 2016-07-24 23:58 devos 阅读(4761) 评论(0) 推荐(0) 编辑
摘要: (基于0.10版本) Group Management Protocol Kafka的coordiantor要做的事情就是group management,就是要对一个团队(或者叫组)的成员进行管理。Group management就是要做这些事情: 维持group的成员组成。这包括允许新的成员加入 阅读全文
posted @ 2016-07-11 18:08 devos 阅读(2850) 评论(0) 推荐(1) 编辑
摘要: Introducing Kafka Streams: Stream Processing Made Simple 这是Jay Kreps在三月写的一篇文章,用来介绍Kafka Streams。当时Kafka Streams还没有正式发布,所以具体的API和功能和0.10.0.0版(2016年6月发布 阅读全文
posted @ 2016-07-04 08:32 devos 阅读(28991) 评论(0) 推荐(2) 编辑
摘要: (依据于0.10.0.0版本) 这个接口的唯一实现类就是NetworkClient,它被用于实现Kafka的consumer和producer. 这个接口实际上抽象出来了Kafka client与网络交互的方式。 为了对它的API有清楚的认识,先要了解下Kafka protocol所要求的clien 阅读全文
posted @ 2016-06-09 16:58 devos 阅读(19641) 评论(1) 推荐(0) 编辑
摘要: 通过KIP32,Kafka的每条消息都加进了时间戳,这个KIP在0.10.0.0被加入。 说到“时间”,先贴张图,娱乐一下(如果对星球大战系列电影不熟的话,请自动略过……) 这个KIP的文档在 KIP-32 - Add timestamps to Kafka message 下面贴一下这个KIP的关 阅读全文
posted @ 2016-05-30 18:30 devos 阅读(1213) 评论(0) 推荐(0) 编辑
摘要: 翻译自Google Guava Cache This Post is a continuation of my series on Google Guava, this time covering Guava Cache. Guava Cache offers more flexibility an 阅读全文
posted @ 2016-05-29 18:32 devos 阅读(528) 评论(0) 推荐(0) 编辑
摘要: <!--StartFragment--> 之所以要翻译这篇文章,是因为提到了一些通常于对Kerberos协议简介性质的文章所没有提到的细节,而这些细节对于理解Kerberos的工作原理,以及Kerberos协议实现的使用都是很有必要的。 1.3 组件和术语的定义 这一节给了关于对象和术语的定义,对于 阅读全文
posted @ 2016-04-30 16:41 devos 阅读(4803) 评论(1) 推荐(1) 编辑