前面三章从 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的那一套。
相关推荐
kettle kafka 生产者插件,在plugins 下新建steps文件夹,把zip文件解压放到里面。
Kafka Producer机制优化-提高发送消息可靠性
spring-kafka-producer.xml
python模拟kafka生产者, 读取配置文件, 根据配置文件的信息, 向kafka中写入数据信息。
"Kafka Producer拦截器与Kafka Streams" Kafka Producer拦截器是Kafka 0.10版本引入的主要用于实现clients端的定制化控制逻辑。 Producer拦截器使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制...
kafka c++版本生产者代码,用到了protobuf和avro序列化,需要先安装kafka,并配置集群环境
kafka的3554版本中的kafka-producer-perf-test.sh增添了 --num-thread --value-bound 两个参数,并且可以打印print-metrics 下载本资源后,读introduction.txt文件。 没有积分的同学,可以访问 ...
Simple application demonstrate kafka java springboot
NULL 博文链接:https://bewithme.iteye.com/blog/2395262
jmeter连接kafka需要的连接器,可用于将静态测试数据通过jemter模拟高并发数据流发送到kafka中,可作为Kafka的生产者。
kettle kafka 消息者生产插件,用于集成到kettle,生产Kafka消息。亲测试可用。
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...
将Node.js + Express请求直接发送到Kafka的中间件安装将express-kafka-producer添加到您的package.json例子查看以获取有关如何使用中间件的有效示例运行卡夫卡有一个配置使测试更容易用法在您的Express应用中用作...
主要介绍了Springboot集成Kafka实现producer和consumer的示例代码,详细的介绍了什么是Kafka和安装Kafka以及在springboot项目中集成kafka收发message,感兴趣的小伙伴们可以参考一下
./producer -b <broker> -t 您也可以使用vscode上的目标“调试可执行文件'生产者'”来调试可执行文件。 如何使用数据 要使用此生产者生成的数据,可以使用。 待办事项: 使用仅一次语义(EOS) 推送图像(二进制...
kettle kafka 消费者插件,在plugins 下新建steps文件夹,把zip文件解压放到里面。