`
sharp-fcc
  • 浏览: 111522 次
  • 性别: 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/consumer样例

    Kafka客户端producer/consumer样例

    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 之实战指南.7z

    首先,Kafka的基本知识点包括它的核心组件:生产者(Producer)、消费者(Consumer)和主题(Topic)。生产者负责将数据发布到特定的主题,消费者则订阅这些主题并处理数据。主题是逻辑上的分类,可以分为多个分区...

    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...

Global site tag (gtag.js) - Google Analytics