我需要在生成事件之前提供Kafka主题的存在性,默认的Kafka主题自动创建是不够的。我已经决定使用adminclient类,但是我担心并发性问题。apachekafka2.2.x的文档中没有关于线程安全adminclient的信息。有人知道吗?
hof1towb1#
kip的提案部分指出:“客户端将是多线程的;多个线程将能够使用同一adminclient对象安全地进行调用。”除此之外,管理客户机的线程安全性没有文档记录。
krugob8w2#
Kafka的 AdminClient 旨在用于管理任务,因此不需要在需要线程安全的上下文中使用它。如果需要使用多个线程 AdminClient 对于不同的任务,同时,您可以简单地示例化多个示例,并分别在各自的线程中使用它们。他们将各自独立完成任务,没有并发问题,因为他们不需要互相交谈,甚至不需要了解对方。不需要多个线程访问同一个 AdminClient .
AdminClient
xienkqul3#
是的,apachekafka的adminclient在kafka的每个版本中都是线程安全的。我们将创建一个pr来更新文档(我原以为它已经在javadoc中了,但看起来好像没有)
3条答案
按热度按时间hof1towb1#
kip的提案部分指出:
“客户端将是多线程的;多个线程将能够使用同一adminclient对象安全地进行调用。”
除此之外,管理客户机的线程安全性没有文档记录。
krugob8w2#
Kafka的
AdminClient
旨在用于管理任务,因此不需要在需要线程安全的上下文中使用它。如果需要使用多个线程
AdminClient
对于不同的任务,同时,您可以简单地示例化多个示例,并分别在各自的线程中使用它们。他们将各自独立完成任务,没有并发问题,因为他们不需要互相交谈,甚至不需要了解对方。不需要多个线程访问同一个AdminClient
.xienkqul3#
是的,apachekafka的adminclient在kafka的每个版本中都是线程安全的。我们将创建一个pr来更新文档(我原以为它已经在javadoc中了,但看起来好像没有)