我们鼓励所有新开发的程序使用新的Java生产者
,新的java生产者客户端比以前的Scala的客户端更快、功能更全面。通过下面的例子,引入Maven(可以更改新的版本号)。
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.7.0</version>
</dependency>
如何使用生产者,请点击这里。
对以前传统Scala生产者API感兴趣的,可以在点击这里。
请教个问题大神。我找了个其他方法java操作生产者和消费者,是org.springframework.kafka的spring-kafka,是直接boot的配置文件里,配置好了kafka的集群,生产者和消费者,消费者组ID,offset等的一系列东西,然后生产者是用的KafkaTemplate,send。消费者直接用@KafkaListener。但是没有找到设置其他参数的地方。现在就是不太懂我用的这个,和你上面用的这个kafka-clients,有啥区别吗,用哪个好一些
一样的,spring-boot包装了一层而已
你好,我请教两个生产者的问题。
1.背景:目前有一个主题test-topic,3个partition,平均分布在3个broker上。此时,生产者客户端可以正常的想服务器发送消息,消费消息。然后我又扩容了3个broker节点。防火墙上没有打通生产者客户端和broker的9092端口。此时test-topic使用9092端口生产消息,发现消费到的消息有丢失。
将9092端口防火墙打通后,该现象消息,恢复正常。想不通这是什么原因?
2.目前test-topic接口2M字节左右数据正常。当向该topic发送100M字节的数据说话,发现topic对应kafka-broker的节点有20s左右的不可用,数据下降后恢复,查看时次节点leader不可用了。我想问下,咱们的kafka不能限流吗?为什么直接导致了kafka服务挂掉,而不是丢消息。
1、查看test-topic分区的分布情况,如果分区有联系到新增加的节点,就会有影响。
2、kafka有限流,不过要手动设置。20s不可用,检查下是否已经把整个kafka网络个吃完了?导致kafka集群之间的心跳也阻塞,而引起的不可用。
谢谢,第二个问题我在看一下。第一个问题分区没有在新增节点上。当时查过了,所以很疑惑。