2017-10-12 90 views
0

使用VisualVM來配置使用akka-streams-kafka的應用程序。在Akka流-kafka中阻塞Kafka協調器的線程

它顯示了很多卡夫卡協調阻塞線程 It shows a lot of Kafka coordinator blocking threads

誰是這些協調員?

我也有三個卡夫卡消費者,也阻塞線程 I also have three Kafka consumers that are also blocking threads

我需要爲他們創造一個獨立的執行上下文?

回答

0

從Java客戶端卡夫卡API

  1. 一個消費者,每線程A簡單的選擇是爲每個線程提供自己的消費情況。這種方法的優點和缺點如下: PRO:這是最容易實現的PRO:它通常是最快的,因爲不需要 線程間協調PRO:它按順序處理 ,分區的基礎很容易實現(每個線程只需 按照接收它們的順序處理消息)。 CON:更多消費者 意味着到羣集的更多TCP連接(每個線程一個)。總的來說, 卡夫卡處理連接非常有效,所以這通常是一個小的成本 。 CON:多個消費者意味着更多的請求被髮送到服務器並且稍微減少數據的批量,這可能導致I/O吞吐量的一些下降。 CON:所有 進程中的總線程數將受限於分區總數。