首页 > 解决方案 > 消息在 kafka 生产者和消费者之间消失

问题描述

我有一个非常简单的嵌入式 kafka 应用程序:一个生产者线程和两个编写顶级 postgres db 的消费者线程。这三个线程在一个进程中运行。我正在使用 librdkafka 来实现我的消费者和生产者,并将 apache-kafka 作为代理运行。消息大小约为 2kB。我有两个计数器:一个在我写入时递增(rd_kafka_produce),另一个在我读取时递增(rd_kafka_consume_batch)。如果我的生产者运行得足够快(超过 30000 条消息/秒),生产者计数器最终会比消费者计数器大得多(如果我运行 30 秒,则为 15% 左右)。所以我在某处丢失了消息。我的第一个问题是如何调试这样的问题?第二个是这个问题最可能的原因是什么,我该如何解决?

标签: apache-kafkalibrdkafka

解决方案


推荐阅读