kafka 版本:2.5.0
在本文章中,我们创建一个简单的 Java 生产者示例。我们会创建一个名为 my-topic Kafka 主题(Topic),然后创建一个使用该主题发送记录的 Kafka 生产者。Kafka 发送记录可以使用同步方式,也可以使用异步方式。
在创建 Kafka 生产者之前,我们必须安装 Kafka 以及启动集群。具体可以查阅博文:Kafka 安装与启动。
1. Maven依赖
要使用 Java 创建 Kafka 生产者,需要添加以下 Maven 依赖项:
|
具体版本需要根据安装的Kafka版本制定,在此我们使用 2.5.0 版本。
2. 创建Kafka生产者
如果要往 Kafka 中写入数据,需要首先创建一个生产者对象,并设置一些属性。Kafka 生产者有3个必选的属性:
bootstrap.servers
:该属性指定 broker 的地址清单,地址的格式为 host:port。清单里不需要包含所有的 broker 地址,生产者会从给定的 broker 里查找到其他 broker 的信息。不过建议至少要提供两个 broker 的信息,一旦其中一个宕机,生产者仍然能够连接到集群上。key.serializer
:broker 希望接收到的消息的键和值都是字节数组。生产者接口允许使用参数化类型,因此可以把 Java 对象作为键和值发送给 broker。这样的代码具有良好的可读性,不过生产者需要知道如何把这些 Java 对象转换成字节数组。key.serializer
必须被设置为一个实现了 org.apache.kafka.common.serialization.Serializer 接口的类,生产者会使用这个类把键对象序列化成字节数组。Kafka 客户端默认提供了 ByteArraySerializer(这个只做很少的事情)、 StringSerializer