线程阻止Akka-streams-kafka中的Kafka协调员

问题描述 投票:0回答:1

我使用VisualVM来分析使用akka-streams-kafka的应用程序。

它显示了很多Kafka协调员阻止线程It shows a lot of Kafka coordinator blocking threads

这些协调员是谁?

我也有三个卡夫卡消费者也阻止线程I also have three Kafka consumers that are also blocking threads

我是否需要为它们创建单独的执行上下文?

multithreading scala apache-kafka akka akka-stream
1个回答
0
投票

来自Java Kafka客户端API

  1. 每个线程一个消费者一个简单的选择是为每个线程提供自己的消费者实例。以下是这种方法的优点和缺点:PRO:它是最容易实现的PRO:它通常是最快的,因为不需要线程间的协调PRO:它在每个分区的基础上进行有序处理易于实现(每个线程只按接收顺序处理消息)。 CON:更多的消费者意味着与群集的TCP连接更多(每个线程一个)。一般来说,Kafka非常有效地处理连接,因此这通常是一个很小的成本。 CON:多个使用者意味着更多的请求被发送到服务器,而数据的批量略少,这可能导致I / O吞吐量的一些下降。 CON:所有进程中的总线程数将受到分区总数的限制。
© www.soinside.com 2019 - 2024. All rights reserved.