生产者就是负责向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
两种类型,

最低0.47元/天 解锁文章
1330

被折叠的 条评论
为什么被折叠?



