librdkafka生产者的内部队列-它们如何工作?

时间:2019-11-18 21:16:48

标签: apache-kafka librdkafka

我对使用librdkafka的GoLang Kafka生产者有一些疑问- 这些基于我在设置debug:all时在生产者日志中看到的日志。 一旦重新缓存批处理阈值或通过了linger.ms,生产者就会花一些时间来构建消息集。但是,几乎所有时间都是-消息从分区队列移到xmit队列。我试图获取一些文档,但找不到太多,因此想检查一下是否可以在堆栈上获得帮助。我的问题如下-

a)应用程序是否产生调用写入分区特定队列的调用?

b)每个分区是否有一个xmit队列和一个分区队列?

c)是什么触发了从分区队列到xmit队列的传输?为什么我们需要两个队列?

d)当Kafka生产者为一个分区创建消息集时-它会阻止该分区的所有操作吗? (就像将消息从分区队列移动到xmit队列一样)?简而言之,当为分区构建消息集时,新消息可以潜入xmit队列吗?被阻止了吗?

e)有多少个线程可用于创建消息集?是每个生产者一个还是每个分区一个?

0 个答案:

没有答案