摘要: Producer拦截器(interceptor)是个相当新的功能,它和consumer端interceptor是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。 对于producer而言,interceptor使得用户在消息发送前以及producer回调逻辑前有机会阅读全文
posted @ 2017-06-24 08:37 huxihx 阅读(16) 评论(0) 编辑
摘要: 前段时间在Kafka QQ群中有人问及此事——关于Java consumer如何动态修改topic订阅的问题。仔细一想才发现这的确是个好问题,因为如果简单地在另一个线程中直接持有consumer实例然后调用subscribe进行修改,consumer端必然会抛出异常ConcurrentModific阅读全文
posted @ 2017-06-17 16:55 huxihx 阅读(81) 评论(2) 编辑
摘要: 本文主要参考社区0.11版本Controller的重设计方案,试图给大家梳理一下Kafka controller这个组件在设计上的一些重要思考。众所周知,Kafka中有个关键组件叫controller,负责管理和协调Kafka集群。网上关于controller的源码分析也有很多,本文就不再大段地列出阅读全文
posted @ 2017-06-10 21:39 huxihx 阅读(86) 评论(0) 编辑
摘要: 今天带来一篇译文“调优Apache Kafka集群”,里面有一些观点并无太多新颖之处,但总结得还算详细。该文从四个不同的目标出发给出了各自不同的参数配置,值得大家一读~ 原文地址请参考:https://www.confluent.io/blog/optimizing-apache-kafka-dep阅读全文
posted @ 2017-06-03 11:44 huxihx 阅读(79) 评论(0) 编辑
摘要: 开宗明义!本文根据Google Beam大神Tyler Akidau的系列文章《The world beyond batch: Streaming 101》(批处理之外的流式世界)整理而成, 主要讨论流式数据处理。在大数据领域,流式数据处理越发地重要了。原因有以下几点: 人们越来越想要得到更及时的数阅读全文
posted @ 2017-05-22 09:42 huxihx 阅读(80) 评论(0) 编辑
摘要: 在0.11之前的版本中,多个consumer实例加入到一个空消费组将导致多次的rebalance,这是由于每个consumer instance启动的时间不可控,很有可能超出coordinator确定的rebalance timeout(即max.poll.interval.ms),而每次rebal阅读全文
posted @ 2017-05-06 22:45 huxihx 阅读(177) 评论(7) 编辑
摘要: 在Kafka 0.10.2.0之前,Kafka服务器端和客户端版本之间的兼容性是“单向”的,即高版本的broker可以处理低版本client的请求。反过来,低版本的broker不能处理高版本client的请求。由于升级client要远比升级broker简单得多,因此这个限制给很多用户带来了麻烦,甚至阅读全文
posted @ 2017-04-29 11:46 huxihx 阅读(136) 评论(0) 编辑
摘要: Kafka最佳实践 / Kafka Best Practices阅读全文
posted @ 2017-04-16 22:32 huxihx 阅读(467) 评论(2) 编辑
摘要: 详细复盘Kafka-4614 bug,即由于MappedByteBuffer未关闭导致慢磁盘访问从而引发Kafka吞吐量急降阅读全文
posted @ 2017-03-28 23:17 huxihx 阅读(652) 评论(4) 编辑
摘要: Kafka官方提供了两个脚本来管理topic,包括topic的增删改查。其中kafka-topics.sh负责topic的创建与删除;kafka-configs.sh脚本负责topic的修改和查询,但很多用户都更加倾向于使用程序API的方式对topic进行操作。 上一篇文章中提到了如何使用客户端协议阅读全文
posted @ 2017-03-21 09:43 huxihx 阅读(2583) 评论(0) 编辑