在創(chuàng)建一個(gè)topic時(shí),kafka盡量將partition均分在所有的brokers上,并且將replicas也j均分在不同的broker上。
每個(gè)partitiion的所有replicas叫做”assigned replicas”,”assigned replicas”中的第一個(gè)replicas叫”preferred replica”,剛創(chuàng)建的topic一般”preferred replica”是leader。leader replica負(fù)責(zé)所有的讀寫。
但隨著時(shí)間推移,broker可能會(huì)停機(jī),會(huì)導(dǎo)致leader遷移,導(dǎo)致機(jī)群的負(fù)載不均衡。我們期望對(duì)topic的leader進(jìn)行重新負(fù)載均衡,讓partition選擇”preferred replica”做為leader。
文章已經(jīng)遷移到我的github上,請(qǐng)?jiān)L問我的github地址:
https://sukbeta.github.io/kafka-auto-loadblance-leader/