1. 程式人生 > >【Kafka】kafka動態獲取某個topic的partition資訊

【Kafka】kafka動態獲取某個topic的partition資訊

現在有這樣一種場景,系統啟動前,預期abc topic建立了一個100個分割槽,大概用個一段時間,之後可能會動態新增分割槽數,這就要求生產者在生產資料時,能夠動態實時的獲取分割槽數,做到及時有效的雜湊生效,讓資料進入新增的分割槽,kafka的jar包裡倒是有這麼一個api可以做到,不過這種場景本人覺得還不如夜裡做一次升級呢。

畢竟在生產資料時每次獲取abc topic的分割槽資訊是一個性能損耗,一天生產10W資料,一年就是3650W資料,可能兩年才會有這種新增分割槽數的需求,為了一次的動態獲取實時生效,浪費了幾千萬次的查詢損耗,得不償失啊。


獲取分割槽數就是list.size()即可,獲取總的分割槽數,PartitionInfo裡是topic的元資料,包含如下資料: