前面三章从 kafka.kafka 启动类 抽丝剥茧,看了 kafka broker 的架构。
下面咱们从 producer 的角度,producer的逻辑相对简单,再看看 client 端,和 broker 都干了什么。
首先,咱们看看官方给出的 examples, 在包中的examples\src 下有给出的示例,java版的,搞到eclipse中。
producer = new kafka.javaapi.producer.Producer<Integer, String>(new ProducerConfig(props));
用了kafka中的 javaapi 中的那个包。
只调用了一个方法:
public void run() { int messageNo = 1; while(true) { String messageStr = new String("Message_" + messageNo); producer.send(new ProducerData<Integer, String>(topic, messageStr)); messageNo++; } }
点进去看看 send 方法,基本做了两件大事情, 从zk中获取broker信息, 发。
brokerPartitionInfo = new ZKBrokerPartitionInfo(new ZKConfig(zkProps), producerCbk)
在 ZKBrokerPartitionInfo 中封装了一些对于zk的操作, 从zk中拿到 一个 topic 到 (brokerid,partition)的一个map,并且维护这个map。还有 brokerid -> (host, port) 的一个map。 这样就很容易拿到 要给哪个 broker发送信息。找到之后就是发了。
def writeCompletely(channel: GatheringByteChannel): Int = { var written = 0 while(!complete) { written = writeTo(channel) trace(written + " bytes written.") } written }
写就简单了, nio的那一套。
相关推荐
Pentaho Kafka Producer是一款用于Pentaho Data Integration(Kettle)平台的插件,它允许用户在数据集成过程中将数据流发布到Apache Kafka消息队列。Kafka是一个分布式流处理平台,广泛应用于实时数据管道和流应用...
在这个项目中,`kafka_producer.zip`包含了实现这一功能的所有必要文件:一个配置文件`config.conf`和一个Python脚本`producer.py`。 首先,让我们了解`config.conf`文件的作用。这个配置文件通常包含Kafka生产者...
### Kafka Producer机制优化—提高发送消息可靠性 #### 一、Kafka Producer机制及问题背景 在Kafka消息系统中,消息是由Producer生产并通过Broker(消息中介节点)进行存储与转发的。Broker负责处理消息的存储,并...
Kafka客户端producer/consumer样例
本篇将深入探讨如何利用C++语言构建一个Kafka生产者,同时结合protobuf和avro进行数据序列化,以实现高效的消息传递。 首先,我们需要理解Kafka的基本概念。Kafka是一种流处理平台,它允许创建实时数据管道和应用...
标题中的“spring-kafka-producer-consumer-example”表明这是一个关于Spring Boot应用,它使用了Apache Kafka作为消息中间件,展示了生产者(producer)和消费者(consumer)的实现。描述中的“Simple application ...
spring-kafka-producer.xml
在文件“pentaho-kafka-producer”中,我们可以预期找到与这个插件相关的源代码、配置文件、文档或其他支持资源。这些资源可能包括: 1. **源代码**:可能包含Java或Groovy代码,实现了Kettle插件的逻辑,包括连接...
"Kafka Producer拦截器与Kafka Streams" Kafka Producer拦截器是Kafka 0.10版本引入的主要用于实现clients端的定制化控制逻辑。 Producer拦截器使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制...
在Kafka中,Producer(生产者)负责将数据流发送到Kafka集群中。生产者的配置参数非常关键,因为它们会直接影响到生产者的行为和性能。以下是根据提供的文件内容整理的Kafka生产者配置参数的知识点: 1. bootstrap....
kafka的3554版本中的kafka-producer-perf-test.sh增添了 --num-thread --value-bound 两个参数,并且可以打印print-metrics 下载本资源后,读introduction.txt文件。 没有积分的同学,可以访问 ...
《JMeter与Kafka连接器:构建高并发数据流测试》 在现代大数据处理系统中,Apache Kafka作为一款分布式消息中间件,广泛应用于实时数据流处理。为了验证和优化Kafka系统的性能,开发者通常需要进行大规模并发数据...
./producer -b <broker> -t 您也可以使用vscode上的目标“调试可执行文件'生产者'”来调试可执行文件。 如何使用数据 要使用此生产者生成的数据,可以使用。 待办事项: 使用仅一次语义(EOS) 推送图像(二进制...
### 图解Kafka之实战指南知识点详述 #### 一、Kafka简介 **Kafka** 起初由LinkedIn采用Scala语言开发,后捐赠给Apache基金会,现已成为一款广泛应用于分布式流处理平台的成熟软件。它凭借高吞吐量、可持久化存储、...
首先,Kafka的基本知识点包括它的核心组件:生产者(Producer)、消费者(Consumer)和主题(Topic)。生产者负责将数据发布到特定的主题,消费者则订阅这些主题并处理数据。主题是逻辑上的分类,可以分为多个分区...
Kafka 入门基础篇 Kafka 是 LinkedIn 公司开发的一种分布式消息队列系统,支持离线和在线日志处理。它可以实时处理大量数据,满足各种需求场景,如基于 Hadoop 的批处理系统、低延迟的实时系统、Storm/Spark 流式...
kafka的生产消费示例程序,其中数据生产时需要avro序列化,消费时需要反序列化
#Kafka Producer介绍kafka-producer是基于Kafka客户端0.8.1.1版本进行开发的一个Kafka生产者应用程序。该版本的客户端和ssy-dmp小组应用的Kafka中间件对应。kafka-producer是为了不了解Kafka的同学提供的工具,提供...
主要介绍了Kafka Java Producer代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
@ hitmands / kafka-producer-stub 简单的Kafka堆栈可促进消费者的本地发展 入门 docker run -tid \ -e ' HKPS_BROKERS=localhost:9092 ' \ -v $( pwd ) /examples:/data \ hitmands/kafka-producer-stub:latest...