
Kafka
生产者——向
Kafka
写入数据
|
37
kafkaProps.put("key.serializer",
"org.apache.kafka.common.serialization.StringSerializer");
➋
kafkaProps.put("value.serializer",
"org.apache.kafka.common.serialization.StringSerializer");
producer = new KafkaProducer<String, String>(kafkaProps);
➌
➊
新建一个
Properties
对象。
➋
因为我们打算把键和值定义成字符串类型,所以使用内置的
StringSerializer
。
➌
创建一个新的生产者对象,为键和值设置类型,然后把
Properties
对象传给它。
这个接口很简单,通过配置生产者不同的属性可以控制它的行为。
Kafka
文
档列出了所有
的配置参数,本章后面部分会介绍其中几个比较重要的参数。
实例化好生产者对象后,接下来就可以开始发送消息了。发送消息主要有以下
3
种方式。
发送并忘记
把消息发送给服务器,但并不关心它是否成功送达。大多数情况下,消息可以成功送
达,因为
Kafka
是高可用的
,而且生产者有自动尝试重发的机制。但是,如果发生了不
可重试的错误或超时,那么消息将会丢失,应用程序将不会收到任何信息或异常。
同步发送
一般来说,生产者是异步的——我们调用
send()
方法发送消息,它会返回一个