溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

好程序員大數(shù)據(jù)培訓(xùn)分享關(guān)于kafka的幾個重要問題

發(fā)布時間:2020-07-01 23:00:18 來源:網(wǎng)絡(luò) 閱讀:268 作者:wx5d42865f47214 欄目:大數(shù)據(jù)

  好程序員大數(shù)據(jù)培訓(xùn)分享關(guān)于kafka的幾個重要問題:

  1.segment的概念

  topic中會有一個到多個分區(qū),每個分區(qū)中會有多個segment,segment的大小在kafka的配置文件里可以設(shè)置,segment的大小是相等的,每個segment有多個index文件和對應(yīng)的數(shù)據(jù)文件組成的

  2.數(shù)據(jù)存儲機(jī)制?(數(shù)據(jù)寫入快的原因)

  首先是broker接收到數(shù)據(jù),將數(shù)據(jù)放到操作系統(tǒng)(linux)的緩存里(pagecache)

  pagecache 會盡可能多的使用空閑內(nèi)存,會使用sendfile技術(shù)盡可能多的減少操作系統(tǒng)和應(yīng)用程序之間進(jìn)行重復(fù)緩存,寫入數(shù)據(jù)的時候還會用到順序?qū)懭氲姆绞?,寫入?shù)據(jù)的速度可達(dá)600m/s

  3.consumer是怎么解決負(fù)載均衡問題的?

  當(dāng)同一個group 的consumer的數(shù)量發(fā)生改變時,會觸發(fā)kafka的負(fù)載均衡,首先獲取consumer消費(fèi)的起始分區(qū)號,再計算出consumer要消費(fèi)的分區(qū)數(shù)量,最后用起始分區(qū)號的hashcode值模余分區(qū)數(shù)

1、數(shù)據(jù)的分發(fā)策略

  kafka默認(rèn)調(diào)用自己的分區(qū)器(DefaultPartitioner)進(jìn)行分區(qū),也可以自定義分區(qū)器,自定義分區(qū)器需要實現(xiàn)Partitioner特質(zhì),實現(xiàn)partition方法

2、kafka是怎么保證數(shù)據(jù)不丟失的?
kafka接收數(shù)據(jù)以后會根據(jù)創(chuàng)建的topic指定的副本數(shù)來儲存,副本數(shù)據(jù)是由kafka自己進(jìn)行同步,多副本機(jī)制保證了數(shù)據(jù)的安全性

3、kafka可以保證topic里的數(shù)據(jù)全局有序嗎

  kafka可以做到分區(qū)內(nèi)有序,分區(qū)之間是無序的

  怎么做到全局有序呢?最簡單方式是創(chuàng)建分區(qū)topic時指定分區(qū)數(shù)為1

4、如果想消費(fèi)已經(jīng)被消費(fèi)過的數(shù)據(jù)

  1.采用不同的group。

  2.通過一些配置,就可以將線上產(chǎn)生的數(shù)據(jù)同步到鏡像中去,然后再由特定的集群區(qū)處理大批量的數(shù)據(jù)。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI