Kafka是一种分布式的发布(producer)/订阅(consumer)的消息系统,并支持实时和离线的数据处理、可扩展、持久的。
我们今天介绍通过java代码实现producer,包含了上一篇对参数的介绍,我们在发送Kafka主题时,参数配置也很重要,影响数据可靠性、吞吐量
对Kafka 介绍、部署、配置参数的介绍可以参考前面的文章,我们对代码先分解介绍
第一步:设置连接参数
Properties props = new Properties();
props.put("bootstrap.servers","kafka集群地址");
//“所有”设置 将导致记录的完整提交阻塞,最慢的,但最可靠的设置
props.put("acks", 1);
//retries 如果请求失败,生产者会自动重试,我们指定是0次,如果启用多次,则会有重复消息的可能性
props.put("retries",);
//生产者缓存每个分区未发送消息。这些缓存的大小是通过 batch.size 配置指定的。值较大的话将会产生更多的批。但是需要更多的内存(通常每个“活动”分区都有缓冲区)
props.put("batch.size",);//默认16k
//默认立即发送,这里延时毫秒数
props.put("linger.ms", );
//生产者缓冲区大小,当缓冲区耗尽后,额外的发送调用将被阻塞。时间超过max.block.ms将抛
|