我使用VisualVM来分析使用akka-streams-kafka的应用程序。
这些协调员是谁?
我是否需要为它们创建单独的执行上下文?
来自Java Kafka客户端API
- 每个线程一个消费者一个简单的选择是为每个线程提供自己的消费者实例。以下是这种方法的优点和缺点:PRO:它是最容易实现的PRO:它通常是最快的,因为不需要线程间的协调PRO:它在每个分区的基础上进行有序处理易于实现(每个线程只按接收顺序处理消息)。 CON:更多的消费者意味着与群集的TCP连接更多(每个线程一个)。一般来说,Kafka非常有效地处理连接,因此这通常是一个很小的成本。 CON:多个使用者意味着更多的请求被发送到服务器,而数据的批量略少,这可能导致I / O吞吐量的一些下降。 CON:所有进程中的总线程数将受到分区总数的限制。