Kafka:Consumer】的更多相关文章

1.预览 1.1 消费者组(Consumer Group) 一个consumer group可能有若干个consumer实例 同一个group里面,topic的每条信息只能被发送到group下的一个consumer实例 topic消息可以被发送到多个group 为什么需要consumer group? consumer group是用于实现高伸缩性.高容错性的consumer机制.组内的多个实例可以同时读取消息(不同的消息),而一旦某个consumer挂了,group会把这个实例的任务立刻交给其…
错误信息 19/01/15 19:36:40 WARN consumer.ConsumerConfig: The configuration max.poll.records = 1 was supplied but isn't a known config. 19/01/15 19:36:40 INFO utils.AppInfoParser: Kafka version : 0.9.0-kafka-2.0.2 19/01/15 19:36:40 INFO utils.AppInfoParse…
上一篇中分析了Scala版的console producer代码,这篇文章为读者带来一篇console consumer工作原理分析的随笔.其实不论是哪个consumer,大部分的工作原理都是类似的.本文利用console consumer作为切入点,既容易理解又不失一般性.   本文使用的Kafka环境是0.8.2.1版本,这也是当前最新的版本.(注:Kafka 0.9版本据说会用Java重新设计并编写consumer代码,对此我们拭目以待) 由于主要目的是分析consumer原理,因此本文并…
1.背景 最近因为工作需要,调研了追求高吞吐的轻量级消息系统Kafka,打算替换掉线上运行的ActiveMQ,主要是因为明年的预算日流量有十亿,而ActiveMQ的分布式实现的很奇怪,所以希望找一个适合分布式的消息系统. 以下是内容是调研过程中总结的一些知识和经验,欢迎拍砖. 2.基础知识 2.1.什么是消息队列 首先,我们来看看什么是消息队列,维基百科里的解释翻译过来如下: 队列提供了一种异步通信协议,这意味着消息的发送者和接收者不需要同时与消息保持联系,发送者发送的消息会存储在队列中,直到接…
http://www.infoq.com/cn/articles/kafka-analysis-part-1 Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spark都支持与Kafka集成.InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计.实现.应用场景.性能等方面深度解析Kafka. 背景介绍 Kafka创建背…
Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) High Level Consumer API:高度抽象的Kafka消费者API:将底层具体获取数据.更新offset.设置偏移量等操作屏蔽掉,直接将操作数据流的处理工作提供给编写程序的人员.优点是:操作简单:缺点:可操作性太差,无法按照自己的业务场景选择处理方式.(入口类:ConsumerConne…
前言 在上一篇 Kafka使用Java实现数据的生产和消费demo 中介绍如何简单的使用kafka进行数据传输.本篇则重点介绍kafka中的 consumer 消费者的讲解. 应用场景 在上一篇kafka的consumer消费者,我们使用的是自动提交offset下标. 但是offset下标自动提交其实在很多场景都不适用,因为自动提交是在kafka拉取到数据之后就直接提交,这样很容易丢失数据,尤其是在需要事物控制的时候. 很多情况下我们需要从kafka成功拉取数据之后,对数据进行相应的处理之后再进…
Producer API org.apache.kafka.clients.producer.KafkaProducer props.put("bootstrap.servers", "192.168.1.128:9092"); props.put("acks", "all"); props.put("retries", 0); props.put("batch.size", 16384…
1.Consumer Group 与 topic 订阅 每个Consumer 进程都会划归到一个逻辑的Consumer Group中,逻辑的订阅者是Consumer Group.所以一条message可以被多个订阅message 所在的topic的每一个Consumer Group,也就好像是这条message被广播到每个Consumer Group一样.而每个Consumer Group中,类似于一个Queue(JMS中的Queue)的概念差不多,即一条消息只会被Consumer Group中…
本篇是<关于Kafka producer管理TCP连接的讨论>的续篇,主要讨论Kafka java consumer是如何管理TCP连接.实际上,这两篇大部分的内容是相同的,即consumer也是把TCP连接的管理交由底层的Selector类(org.apache.kafka.common.network)来维护.我们依然以“何时创建/创建多少/何时关闭/潜在问题/总结”的顺序来讨论.和上一篇一样,本文将无差别地混用名词TCP和Socket. 一.何时创建TCP连接 首先明确的是,在构建Kaf…