Kafka01--Kafka生产者

Kafka之--生产者入门

前言:

  Kafka诞生至今,产生两个版本的生产者客户端:1是早期基于scala语言编写的客户端;2是随着Java用户的广泛涌入,kafka0.9版本开始退出Java版本的客户端;

  一个基本生产者producer逻辑需要具备以下基本条件:

    • 配置Producer,创建生产者实例;
    • 构建待发送消息;
    • 发送消息;
    • 关闭生产者实例;

KafkaProducer必要参数配置:

  • bootstrap.servers:待连接的broker地址;

  • key.serializer和value.serializer:kafka中的消息都需要转化为字节数组byte[]进行传递,一般会使用到改参数指定key和value的序列化方式。对应的服务端的参数配置中需要有反序列化参数配置,他们是对应的。

  KafkaProducer是线程安全的,可以在多个线程中共享单个KafkaProducer实例,或者进行池化,这样方便了使用。在实际使用中,可以通过Java配置方式,在项目启动时进行生产端的初始化,生成对应的实例即可。

KafkaProducer发送消息:

  kafka消息的发送需要通过构建ProducerRecoder对象来实现,该类的属性有:    

    private final String topic;
    private final Integer partition;
    private final Headers headers;
    private final K key;
    private final V value;
    private final Long timestamp;

  其中,最简的一种使用只需要指定topic和消息体即可。`ProducerRecord<String, String> record =  new ProducerRecord<>(topic, "hello, Kafka!");

`

  

猜你喜欢

转载自www.cnblogs.com/whtblog/p/11409356.html
今日推荐