Apache Kafka - 简单生产者示例

让我们创建一个使用Java客户端发布和使用消息的应用程序. Kafka生产者客户端包含以下API.

KafkaProducer API

让我们在本节中了解最重要的Kafka生产者API集. KafkaProducer API的核心部分是类. KafkaProducer类提供了一个选项,用于在其构造函数中使用以下方法连接Kafka代理.

  • KafkaProducer类提供send方法将消息异步发送到主题. send()的签名如下:

producer.send(new ProducerRecord<byte[],byte[]>(topic, 
partition, key1, value1) , callback);

  • ProducerRecord : 制作人管理等待发送的记录缓冲区.

  • 回调 : 用户提供的回调,当服务器确认记录时执行(null表示没有回调).

  • KafkaProducer类提供了一个flush方法,以确保所有先前发送的消息都已实际完成. flush方法的语法如下 :

public void flush()

  • KafkaProducer类提供partitionFor方法,有助于获取给定主题的分区元数据.这可以用于自定义分区.此方法的签名如下 :

public Map metrics()

它返回生产者维护的内部指标的地图.

  • public void close() :  KafkaProducer类提供关闭方法块,直到完成所有先前发送的请求.

生产者API

Producer API的核心部分是类. Producer类提供了一个选项,通过以下方法在其构造函数中连接Kafka代理.

生产者类

生产者类提供发送方法到使用以下签名将消息发送到单个或多个主题.