在Kafka消费者中编写一个批处理计数器

1sbrub3j  于 2022-10-07  发布在  Kafka
关注(0)|答案(1)|浏览(175)

我有一群Kafka消费者正在阅读Kafka主题中的事件,事件有标签&PHOTOID。我想路由到多个Kafka消费者的标签,将维护一个Map的标签及其计数,并将其发布到数据库每分钟左右。

我正在用 java 写这篇文章。在将数据发布到数据库时,是否需要锁定Map,并在提交到数据库后停止消费和清除Map。在这里采取什么是最好的方法,这样我的Kafka消费者就不会重复计算。

toe95027

toe950271#

您应该使用Kafka Connect来写入数据库,而不是试图在消费者内部维护状态。Apache皮诺或Clickhouse也是此类分析查询的好工具,并提供原生Kafka摄取。

否则,您可以使用RocksDB KV-Store上的KTable,而不是内存中的Map,后者可以自己分配消耗,不会重复计算。

相关问题