




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Kafka讀取partition的offset2知識(shí)目標(biāo)分區(qū)partition偏移offset01能力目標(biāo)offset提交的應(yīng)用場(chǎng)景offset提交的方式02學(xué)習(xí)目標(biāo)3目錄01分區(qū)partition02偏移offset03offset提交的應(yīng)用場(chǎng)景04offset提交的方式分區(qū)partition4kafka是為分布式環(huán)境設(shè)計(jì)的,因此如果日志文件,其實(shí)也可以理解成消息數(shù)據(jù)庫(kù),放在同一個(gè)地方,那么必然會(huì)帶來可用性的下降,一掛全掛,如果全量拷貝到所有的機(jī)器上,那么數(shù)據(jù)又存在過多的冗余,而且由于每臺(tái)機(jī)器的磁盤大小是有限的,所以即使有再多的機(jī)器,可處理的消息還是被磁盤所限制,無法超越當(dāng)前磁盤大小.因此有了partition的概念.kafka對(duì)消息進(jìn)行一定的計(jì)算,通過hash來進(jìn)行分區(qū).這樣,就把一份log文件分成了多份.,分成多份以后,在單臺(tái)broker上。,如果新建topic的時(shí)候,我們選擇了
--replication-factor1--partitions2
,那么在log目錄里,我們會(huì)看到test-0目錄和test-1目錄.就是兩個(gè)分區(qū)了.偏移offset5分區(qū)就是一個(gè)有序的,不可變的消息隊(duì)列.新來的commitlog持續(xù)往后面加數(shù)據(jù).這些消息被分配了一個(gè)下標(biāo)(或者偏移),就是offset,用來定位這一條消息.消費(fèi)者消費(fèi)到了哪條消息,是保持在消費(fèi)者這一端的.消息者也可以控制,消費(fèi)者可以在本地保存最后消息的offset,并間歇性的向zookeeper注冊(cè)offset.也可以重置offset。offset提交的應(yīng)用場(chǎng)景6簡(jiǎn)單的來說就是一條消息對(duì)應(yīng)一個(gè)offset下標(biāo),每次消費(fèi)數(shù)據(jù)的時(shí)候如果提交offset,那么下次消費(fèi)就會(huì)從提交的offset加一那里開始消費(fèi)。比如一個(gè)topic中有100條數(shù)據(jù),我消費(fèi)了50條并且提交了,那么此時(shí)的kafka服務(wù)端記錄提交的offset就是49(offset從0開始),那么下次消費(fèi)的時(shí)候offset就從50開始消費(fèi)。offset提交的方式有兩種,自動(dòng)提交和手動(dòng)提交。conf/perties配置文件的參數(shù)設(shè)置:mit=true(那么這個(gè)是自動(dòng)提交,false為手動(dòng))offset提交的方式71.自動(dòng)提交偏移量kafka中偏移量的自動(dòng)提交是由參數(shù)enable_auto_commit和auto_commit_interval_ms控制的,當(dāng)enable_auto_commit=True時(shí),Kafka在消費(fèi)的過程中會(huì)以頻率為auto_commit_interval_ms向Kafka自帶的topic(__consumer_offsets)進(jìn)行偏移量提交,具體提交到哪個(gè)Partation是以算法:partation=hash(group_id)%50來計(jì)算的。offset提交的方式82.手動(dòng)提交偏移量對(duì)于手動(dòng)提交offset主要有3種方式:1.同步提交2.異步提交3.異步+同步組合的方式提交。offset提交的方式92.1.同步手動(dòng)提交偏移量同步模式下提交失敗的時(shí)候一直嘗試提交,直到遇到無法重試的情況下才會(huì)結(jié)束,同時(shí)同步方式下消費(fèi)者線程在拉取消息會(huì)被阻塞,在broker對(duì)提交的請(qǐng)求做出響應(yīng)之前,會(huì)一直阻塞直到偏移量提交操作成功或者在提交過程中發(fā)生異常,限制了消息的吞吐量。只有當(dāng)前批次的消息提交完成時(shí)才會(huì)觸發(fā)poll來獲取下一輪的消息。offset提交的方式102.2.異步手動(dòng)提交偏移量+回調(diào)函數(shù)異步手動(dòng)提交offset時(shí),消費(fèi)者線程不會(huì)阻塞,提交失敗的時(shí)候也不會(huì)進(jìn)行重試,并且可以配合回調(diào)函數(shù)在broker做出響應(yīng)的時(shí)候記錄錯(cuò)誤信息。對(duì)于異步提交,由于不會(huì)進(jìn)行失敗重試,當(dāng)消費(fèi)者異常關(guān)閉或者觸發(fā)了再均衡前,如果偏移量還未提交就會(huì)造成偏移量丟失。offset提交的方式112.3.異步+同步組合的方式提交偏移量針對(duì)異步提交偏移量丟失的問題,通過對(duì)消費(fèi)者進(jìn)行異步批次提交并且在關(guān)閉時(shí)同步提交的方式,這樣即使上一次
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)傳統(tǒng)美德教育主題班會(huì)
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000題匯編集錦
- 深度解析《GBT 43932-2024巖溶流域碳循環(huán)監(jiān)測(cè)及增匯評(píng)價(jià)指南》
- 2025年醫(yī)療社會(huì)保障服務(wù)合作協(xié)議書
- 陜西郵電職業(yè)技術(shù)學(xué)院《隋唐史研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 隆安縣2025屆小升初數(shù)學(xué)高頻考點(diǎn)檢測(cè)卷含解析
- 雅安職業(yè)技術(shù)學(xué)院《臨床微生物學(xué)檢驗(yàn)技術(shù)1》2023-2024學(xué)年第二學(xué)期期末試卷
- 集安市2024-2025學(xué)年五年級(jí)數(shù)學(xué)第二學(xué)期期末聯(lián)考模擬試題含答案
- 青島城市學(xué)院《數(shù)字特效合成》2023-2024學(xué)年第二學(xué)期期末試卷
- 青島工學(xué)院《韓國(guó)語(yǔ)言與文化》2023-2024學(xué)年第二學(xué)期期末試卷
- 藥劑科妊娠患者處方點(diǎn)評(píng)統(tǒng)計(jì)表
- 國(guó)民經(jīng)濟(jì)行業(yè)分類大類一覽表
- 環(huán)保危險(xiǎn)源辨識(shí)清單
- 濟(jì)南英語(yǔ)介紹
- 臨床輸血技術(shù)指南內(nèi)科輸血指南
- 可愛的中國(guó)教案全冊(cè)
- 畢業(yè)設(shè)計(jì)(論文)-套筒零件鉆φ6孔夾具設(shè)計(jì)
- 《家畜生態(tài)學(xué)》課程教學(xué)大綱
- 聚氨酯膠粘劑
- 2023年中國(guó)農(nóng)業(yè)大學(xué)動(dòng)物醫(yī)學(xué)院編輯部工作人員招聘筆試備考試題及答案解析
- 中醫(yī)醫(yī)院科室建設(shè)與管理指南匯總版(含治未病科修訂版)
評(píng)論
0/150
提交評(píng)論