【发布时间】:2020-05-04 11:15:34
【问题描述】:
我在本地对其进行了测试,发现虽然无法从多个线程调用 poll,但 listTopics() 和 metrics() 方法有效。这是否意味着可以从多个线程调用这些方法。想在这里与专家确认以避免生产中的任何问题
【问题讨论】:
标签: apache-kafka kafka-consumer-api
我在本地对其进行了测试,发现虽然无法从多个线程调用 poll,但 listTopics() 和 metrics() 方法有效。这是否意味着可以从多个线程调用这些方法。想在这里与专家确认以避免生产中的任何问题
【问题讨论】:
标签: apache-kafka kafka-consumer-api
这些是 Kafka Consumer 的方法,它作为客户端使用来自 Kafka 集群的记录。 消费者不是线程安全的。消费者维护与必要代理的 TCP 连接以获取数据。
多线程处理
Kafka 消费者不是线程安全的。所有网络 I/O 都发生在应用程序的线程中 拨打电话。
确保多线程访问是用户的责任 已正确同步。非同步访问将导致ConcurrentModificationException。
所以 listTopics() 和 metrics() 方法不是线程安全的。您可以浏览 Kafka 源代码以获取更多详细信息。
【讨论】: