Kafka 0.8 Producer (0.9以前版本适用)

烬余封装
• 阅读 1947

Kafka旧版本producer由scala编写,0.9以后已经废除

示例代码如下:

import kafka.producer.KeyedMessage;
import kafka.javaapi.producer.Producer;
import kafka.producer.ProducerConfig;
import java.util.Properties;

public class ProducerDemo {

    public static void main(String[] args) {

        Properties properties = new Properties();
        properties.put("metadata.broker.list", "kafka01:9092,kafka02:9092");
        properties.put("serializer.class", "kafka.serializer.StringEncoder");
        properties.put("request.requird.acks", "1");
        ProducerConfig config = new ProducerConfig(properties);
        Producer<String, String> producer = new Producer<String, String>(config);
        KeyedMessage<String,String> msg = new KeyedMessage<String,String>("topic","key","hello");
        producer.send(msg);
    }
    
}

自定义partition示例代码如下:

import kafka.producer.Partitioner;
import kafka.utils.VerifiableProperties;

public class SimplePartitioner implements Partitioner {
    public SimplePartitioner (VerifiableProperties props) {

    }

    public int partition(Object key, int a_numPartitions) {
        int partition = 0;
        String stringKey = (String) key;
        int offset = stringKey.lastIndexOf('.');
        if (offset > 0) {
            partition = Integer.parseInt( stringKey.substring(offset+1)) % a_numPartitions;
        }
        return partition;
    }

}

更多实时计算,Kafka等相关技术博文,欢迎关注实时流式计算

Kafka 0.8 Producer (0.9以前版本适用)

点赞
收藏
评论区
推荐文章
Easter79 Easter79
4年前
springboot+kafka集成
kafka概念  Topic:消息根据Topic进行归类,可以理解为一个队里。  Producer:消息生产者,就是向kafkabroker发消息的客户端。  Consumer:消息消费者,向kafkabroker取消息的客户端。  broker:每个kafka实例(server),一台kafka服务器就是一个broker,一个集群
Stella981 Stella981
4年前
Kafka设计
1.幂等消息为了解决重试导致的消息重复、乱序问题,kafka引入了幂等消息。幂等消息保证producer在一次会话内写入一个partition内的消息具有幂等性,可以通过重试来确保消息发布的ExactlyOnce语义。实现逻辑很简单:区分producer会话producer每次启动后,首先向broker申请一
Stella981 Stella981
4年前
Kafka开发环境搭建
如果你要利用代码来跑kafka的应用,那你最好先把官网给出的example先在单机环境和分布式环境下跑通,然后再逐步将原有的consumer、producer和broker替换成自己写的代码。所以在阅读这篇文章前你需要具备以下前提:1.简单了解kafka功能,理解kafka的分布式原理2.能在分布式环境下成功运行—topictest。如果你
Stella981 Stella981
4年前
Kafka初入门简单配置与使用
一Kafka概述1.1Kafka是什么在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。1)ApacheKafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。2)Kafka最初是由LinkedIn开发
Stella981 Stella981
4年前
Kafka producer使用注意
最近在测试kafka性能的时候特别对kafka的producer端进行了一些扩展,本想着针对多个业务开发多个producer进行并行的生产数据,并通过统一的线程池进行管理,结果在用jconsole进行观察的时候,发现线程数一路飙升。本以为一个简单的发送端程序却花了不少精力。造成线程上涨的主要原因是有两个线程对象不断的被创建,并且暂时无法销毁。一个叫sen
Stella981 Stella981
4年前
Kafka笔记
第1章Kafka简介1.1kafka起源Kafka是由LinkedIn开发并开源的分布式消息系统,2012年捐赠给Apache基金会,采用Scala语言,运行在JVM中,最新版本1.0.0。1.2kafka设计目标Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:①以时间复杂度O(1)的方式提供消息持久化能力,即
Stella981 Stella981
4年前
Kafka之Producer生产者分区
  kafkaclient的版本:0.10   有个很重要的类Partitioner  _List1_publicinterfacePartitionerextendsConfigurable{/Computethepartitionforthegi
Stella981 Stella981
4年前
Kafka中produer发送消息回调超时错误
Kafka版本0.10.1.1producer发送消息后出现如下错误消息: Theproducerhasaerror:Expiring1record(s)fortesttopic0dueto30039mshaspassedsincelastappendTheproducerhasaerror:Expi
Stella981 Stella981
4年前
Kafka01
Kafka之生产者入门前言:  Kafka诞生至今,产生两个版本的生产者客户端:1是早期基于scala语言编写的客户端;2是随着Java用户的广泛涌入,kafka0.9版本开始退出Java版本的客户端;  一个基本生产者producer逻辑需要具备以下基本条件:配置Producer,创建生产者实例;
Stella981 Stella981
4年前
Kafka 生产者与可靠性保证ACK(2)
生产者消息发送流程消息发送的整体流程,生产端主要由两个线程协调运行。分别是main线程和sender线程(发送线程)。在Kafka(2.6.0版本)源码中,可以看到。源码地址:kafka\clients\src\main\java\org.apache.kafka.clients.producer.KafkaProdu
Stella981 Stella981
4年前
Spark2.3(三十七):Stream join Stream(res文件每天更新一份)
kafka测试数据生成:packagecom.dx.kafka;importjava.util.Properties;importjava.util.Random;importorg.apache.kafka.clients.producer.Producer;