@kafkalistener更好的解决方案,每天消耗100多万条消息?

tsm1rwdh  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(475)

我在一个spring boot项目中有一个spring kafkalistener:

@KafkaListener(topics = "topic-one", groupId = "groupone")
public void listen(CustomerDetails customerDetails) {
    if(customerDetails.getCertainDetails!= null && !customerDetails.getCertainDetails.isEmpty()) {
        dbInsert;
} else {
 log.info(customerDetails.toString)

} }
这个听众每天将收到100多万条信息。如何确保在传入太多消息并插入db时不会遇到并发问题?或者我不需要担心?以上代码方法有更好的解决方案吗?

jq6vz3qz

jq6vz3qz1#

当有太多的消息传入和db插入时,如何确保我不会遇到并发问题
除非您的数据库客户机异步运行,否则您可能不会遇到该问题。kafkalistener正在阻塞,您可以自己配置 max.poll.records 设置在Kafka消费属性处理背压;你不会一次添加更多的记录。
你现在有没有看到任何迹象表明这是事实?
有更好的解决办法吗
一般来说,是的。它要求您不要单独管理kafka使用者,而是为各自的数据库使用kafka连接接收器。

相关问题