【深入理解Kafka系列】 第二章 生产者

      生产者就是负责向Kafka发送消息的应用程序。Kafka一共两个大版本的客户端,第一个是开源之处使用Scala编写的客户端;第二个是0.9.x版本开始推出的java编写的客户端。

1、客户端开发

一个正常的生产逻辑需要以下几个步骤:

(1)配置生产者客户端参数及创建相应的生产者实例。

(2)构建待发送的消息

(3)发送消息

(4)关闭生产者实例

需要单独说明下构建消息的ProducerRecord,它包含了多个属性,定义如下:

public class ProducerRecord<K, V> { 
private final String topic; // 主题
private final Integer partit on //分区号
private nal Headers headers; // 消息头部
private final K key; //键
private nal V value ; //值
private nal Long timestamp ; // 消息的时间戳
//省略其他成员方法和构造方法
}
        topic和 partition 字段分别代表消息要发往的主题和分区号。 key 是用来指定消息的键,它不仅是消息的附加信息,还可以用来计算 分区号进而可以让消息发往特定的分区。前面提及消息以主题为单位进行归类,而这个 key 以让消息再进行二次归类,同 一个 key 的消息会被划分到同一个分区 value 是指消息体,一 般不为空, 如果为空则表示特定的消息一一墓碑消息。   time stamp 是指消息的时间戳, 它有 Create Time LogAppendTime 两种类型,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值