簡體   English   中英

Kafka Streams:從具有多個分區的主題中讀取

[英]Kafka Streams: Reading from topic with multiple partitions

我有一個帶有2個分區的源主題,並且正在使用相同的application.id但不同的接收器主題來啟動2個kafka流應用程序。

1)這兩個應用程序實例是否將從不同的分區接收數據?

2)如果其中一個應用程序被殺死,另一個實例會自動從兩個實例中消耗嗎?

3)如何證明上述情況?

Kafka Streams使用的是相同的使用者庫,因此行為應與您描述的相符-如果您有2個應用程序,則每個應用程序都將從分配給它的分區中使用,如果一個應用程序被殺死,則alive將處理所有分區中的數據。 ..

通過運行應用程序來證明是可能的-例如,在最簡單的情況下,只需為消耗的數據打印不同的前綴並提交鍵值即可,這樣您就可以區分一條消息何時將一個分區發送到另一個分區...

1)這兩個應用程序實例是否將從不同的分區接收數據?

是。

2)如果其中一個應用程序被殺死,另一個實例會自動從兩個實例中消耗嗎?

是。 (但是請記住,另一個實例現在可能會將輸出數據發送到自己的實例,而不是原始實例的輸出主題。)

3)如何證明上述情況?

您可以檢查應用程序的日志(Kafka Streams會記錄有關每個實例的主題/分區/流任務的信息),可以運行集成測試等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM