[英]How to get the processing kafka topic name dynamically in Flink Kafka Consumer?
[英]How to scale Kafka stream processing dynamically?
我有一個固定數量的主題分區。 生產者在一天中的不同時間以不同的速率生產數據。
我想根據一天中的小時動態地添加消費者,以便可以盡快處理記錄。
例如,我有一個主題的10個分區。 我想在非高峰時段部署5個消費者,在高峰時段部署20個消費者。
我的問題是,當我有20個消費者時,每個消費者都將收到重復的記錄,這是我想避免的。 我只想處理唯一記錄,以加快記錄處理速度。
有什么機制可以做到這一點嗎?
如果您有N個分區,則在同一使用者組中最多可以有N個使用者,每個使用者都從一個分區讀取。 當使用者少於分區時,某些使用者將從多個分區中讀取數據。 另外,如果您的使用者數量大於分區數量,則某些使用者將處於非活動狀態,並且根本不會收到任何消息。
因此,如果要啟動20個使用者,則需要將主題的分區數增加到至少20個,否則,您的10個使用者將處於非活動狀態。
關於您提到的重復項 ,如果所有使用者都屬於同一組,則每條消息將只使用一次。
總而言之,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.