摘要: Kafka Security: SASL + PLAINTEXT + ACL实例阅读全文
posted @ 2017-08-17 16:47 huxihx 阅读(15) 评论(0) 编辑
摘要: 本文阐述如何使用Kafka自带的kafka-consumer-groups.sh脚本随意设置消费者组(consumer group)的位移。需要特别强调的是, 这是0.11.0.0版本提供的新功能且只适用于新版本consumer。 在新版本之前,如果要为已有的consumer group调整位移必须阅读全文
posted @ 2017-08-04 14:56 huxihx 阅读(59) 评论(0) 编辑
摘要: Apache Flink是新一代的分布式流式数据处理框架,它统一的处理引擎既可以处理批数据(batch data)也可以处理流式数据(streaming data)。在实际场景中,Flink利用Apache Kafka作为上下游的输入输出十分常见,本文将给出一个可运行的实际例子来集成两者。 1. 目阅读全文
posted @ 2017-07-23 19:52 huxihx 阅读(124) 评论(0) 编辑
摘要: 很多用户都有直接使用程序API操作Kafka集群的需求。在0.11版本之前,kafka的服务器端代码(即添加kafka_2.**依赖)提供了AdminClient和AdminUtils可以提供部分的集群管理操作,但社区官网主页并没有给出这两个类的使用文档。用户只能自行查看源代码和测试用例才能了解具体阅读全文
posted @ 2017-07-15 16:12 huxihx 阅读(196) 评论(0) 编辑
摘要: Kafka 0.11版本重新设计了消息以及消息集合,既支持了事务、精确一次处理语义和幂等producer等新功能,又提升了序列化效率节省了网络/磁盘IO。本文着重探讨新版本消息格式的设计与老版本的对比。阅读全文
posted @ 2017-07-06 15:17 huxihx 阅读(299) 评论(3) 编辑
摘要: Apache Kafka近日推出0.11版本。这是一个里程碑式的大版本,特别是Kafka从这个版本开始支持“exactly-once”语义(下称EOS, exactly-once semantics)。本文简要介绍一下0.11版本主要的功能变更,下面中的每一项都值得专门写篇文章好好聊聊。 一、修改u阅读全文
posted @ 2017-06-30 14:16 huxihx 阅读(238) 评论(1) 编辑
摘要: 在上一篇《Kafka Consumer多线程实例》中我们讨论了KafkaConsumer多线程的两种写法:多KafkaConsumer多线程以及单KafkaConsumer多线程。在第二种用法中我使用的是自动提交的方式,省去了多线程提交位移的麻烦。很多人跑来问如果是手动提交应该怎么写?由于Kafka阅读全文
posted @ 2017-06-28 15:33 huxihx 阅读(366) 评论(0) 编辑
摘要: Producer拦截器(interceptor)是个相当新的功能,它和consumer端interceptor是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。 对于producer而言,interceptor使得用户在消息发送前以及producer回调逻辑前有机会阅读全文
posted @ 2017-06-24 08:37 huxihx 阅读(245) 评论(0) 编辑
摘要: 前段时间在Kafka QQ群中有人问及此事——关于Java consumer如何动态修改topic订阅的问题。仔细一想才发现这的确是个好问题,因为如果简单地在另一个线程中直接持有consumer实例然后调用subscribe进行修改,consumer端必然会抛出异常ConcurrentModific阅读全文
posted @ 2017-06-17 16:55 huxihx 阅读(452) 评论(4) 编辑
摘要: 本文主要参考社区0.11版本Controller的重设计方案,试图给大家梳理一下Kafka controller这个组件在设计上的一些重要思考。众所周知,Kafka中有个关键组件叫controller,负责管理和协调Kafka集群。网上关于controller的源码分析也有很多,本文就不再大段地列出阅读全文
posted @ 2017-06-10 21:39 huxihx 阅读(223) 评论(1) 编辑