`
sharp-fcc
  • 浏览: 110830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

kafka 之 producer篇

 
阅读更多

前面三章从 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.zip

    Pentaho Kafka Producer是一款用于Pentaho Data Integration(Kettle)平台的插件,它允许用户在数据集成过程中将数据流发布到Apache Kafka消息队列。Kafka是一个分布式流处理平台,广泛应用于实时数据管道和流应用...

    kafka_producer.zip

    在这个项目中,`kafka_producer.zip`包含了实现这一功能的所有必要文件:一个配置文件`config.conf`和一个Python脚本`producer.py`。 首先,让我们了解`config.conf`文件的作用。这个配置文件通常包含Kafka生产者...

    Kafka Producer机制优化-提高发送消息可靠性

    ### Kafka Producer机制优化—提高发送消息可靠性 #### 一、Kafka Producer机制及问题背景 在Kafka消息系统中,消息是由Producer生产并通过Broker(消息中介节点)进行存储与转发的。Broker负责处理消息的存储,并...

    kafka_producer.rar

    本篇将深入探讨如何利用C++语言构建一个Kafka生产者,同时结合protobuf和avro进行数据序列化,以实现高效的消息传递。 首先,我们需要理解Kafka的基本概念。Kafka是一种流处理平台,它允许创建实时数据管道和应用...

    spring-kafka-producer-consumer-example_java_springboot_kafka_

    标题中的“spring-kafka-producer-consumer-example”表明这是一个关于Spring Boot应用,它使用了Apache Kafka作为消息中间件,展示了生产者(producer)和消费者(consumer)的实现。描述中的“Simple application ...

    spring-kafka-producer.xml

    spring-kafka-producer.xml

    kettle kafka 消息生产插件

    在文件“pentaho-kafka-producer”中,我们可以预期找到与这个插件相关的源代码、配置文件、文档或其他支持资源。这些资源可能包括: 1. **源代码**:可能包含Java或Groovy代码,实现了Kettle插件的逻辑,包括连接...

    第12单元 Kafka producer拦截器与Kafka Streams1

    "Kafka Producer拦截器与Kafka Streams" Kafka Producer拦截器是Kafka 0.10版本引入的主要用于实现clients端的定制化控制逻辑。 Producer拦截器使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制...

    kafka中文文档producer配置参数

    在Kafka中,Producer(生产者)负责将数据流发送到Kafka集群中。生产者的配置参数非常关键,因为它们会直接影响到生产者的行为和性能。以下是根据提供的文件内容整理的Kafka生产者配置参数的知识点: 1. bootstrap....

    kafka 3554 producer 性能调优工具编译包

    kafka的3554版本中的kafka-producer-perf-test.sh增添了 --num-thread --value-bound 两个参数,并且可以打印print-metrics 下载本资源后,读introduction.txt文件。 没有积分的同学,可以访问 ...

    jemter-kafka连接器

    《JMeter与Kafka连接器:构建高并发数据流测试》 在现代大数据处理系统中,Apache Kafka作为一款分布式消息中间件,广泛应用于实时数据流处理。为了验证和优化Kafka系统的性能,开发者通常需要进行大规模并发数据...

    rust-kafka-producer:用锈写的kafka生产者的简单例子

    ./producer -b &lt;broker&gt; -t 您也可以使用vscode上的目标“调试可执行文件'生产者'”来调试可执行文件。 如何使用数据 要使用此生产者生成的数据,可以使用。 待办事项: 使用仅一次语义(EOS) 推送图像(二进制...

    图解 Kafka 之实战指南

    ### 图解Kafka之实战指南知识点详述 #### 一、Kafka简介 **Kafka** 起初由LinkedIn采用Scala语言开发,后捐赠给Apache基金会,现已成为一款广泛应用于分布式流处理平台的成熟软件。它凭借高吞吐量、可持久化存储、...

    Kafka 入门基础篇.pptx

    Kafka 入门基础篇 Kafka 是 LinkedIn 公司开发的一种分布式消息队列系统,支持离线和在线日志处理。它可以实时处理大量数据,满足各种需求场景,如基于 Hadoop 的批处理系统、低延迟的实时系统、Storm/Spark 流式...

    kafka.rar_DEMO_avro_consumer_kafka_producer

    kafka的生产消费示例程序,其中数据生产时需要avro序列化,消费时需要反序列化

    kafka-producer:卡夫卡制片人

    #Kafka Producer介绍kafka-producer是基于Kafka客户端0.8.1.1版本进行开发的一个Kafka生产者应用程序。该版本的客户端和ssy-dmp小组应用的Kafka中间件对应。kafka-producer是为了不了解Kafka的同学提供的工具,提供...

    Kafka Java Producer代码实例详解

    主要介绍了Kafka Java Producer代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    kafka-producer-stub:一个简单的Kafka Producer存根

    @ hitmands / kafka-producer-stub 简单的Kafka堆栈可促进消费者的本地发展 入门 docker run -tid \ -e ' HKPS_BROKERS=localhost:9092 ' \ -v $( pwd ) /examples:/data \ hitmands/kafka-producer-stub:latest...

    pentaho-kafka-consumer.zip

    总结起来,"pentaho-kafka-consumer.zip"是一个用于Pentaho Kettle的插件,它提供了与Apache Kafka集成的能力,使得用户可以方便地从Kafka中消费数据,并在Pentaho的工作流中进行进一步的数据处理和集成操作。...

    simple-kafka-producer-pool:Kafka 生产者的简单池

    `simple-kafka-producer-pool` 是一个基于 Java 开发的库,用于管理 Kafka 生产者的集合,以提高效率和性能。这个库的设计目标是为应用程序提供一个简单的方法来创建和管理多个 Kafka 生产者的实例,形成一个池,...

Global site tag (gtag.js) - Google Analytics