<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

面試官:Kafka會丟消息嗎?

小林coding ? 來源:小林coding ? 2024-04-29 17:32 ? 次閱讀

Kafka 會丟失信息嗎?

許多開發人員普遍認為,Kafka 的設計本身就能保證不會丟失消息。然而,Kafka 架構和配置的細微差別會導致消息的丟失。我們需要了解它如何以及何時可能丟失消息,并防止此類情況的發生。

下圖顯示了消息在 Kafka 的生命周期中可能丟失的場景。

55d8ed58-05fe-11ef-a297-92fbcf53809c.gif

01 生產者(Producer)

當我們調用 producer.send() 發送消息時,消息不會直接發送到代理。

消息發送過程涉及兩個線程和一個隊列

  1. 應用程序線程
  2. 消息累加器
  3. 發送線程(I/O 線程)

我們需要為生產者配置適當的 "acks "和 "retries",以確保消息被發送到代理。

02 消息代理(Broker)

當代理集群正常運行時,它不應該丟失消息。但是,我們需要了解哪些極端情況可能會導致消息丟失:

  1. 為了提高 I/O 吞吐量,消息通常會異步刷到磁盤上,因此如果實例在刷新之前宕機,消息就會丟失。
  2. Kafka 集群中的副本需要正確配置,以保持數據的有效副本。數據同步的確定性非常重要。

03 消費者(Consumer)

Kafka 提供了不同的提交消息的方式。自動提交可能會在實際處理記錄之前確認對記錄的處理。當消費者在處理過程中宕機時,有些記錄可能永遠不會被處理。

一個好的做法是將同步提交和異步提交結合起來,在處理消息的循環中使用異步提交以提高吞吐量,在異常處理中使用同步提交以確保最后的偏移始終被提交。

下圖是這個方法的偽代碼:

try{
while(true){
ConsumerRecordsrecords=consumer.poll(Duration.ofMillis(1000));

for(ConsumerRecordrecord:records){
//processrecordsonebyone
}

consumer.commitAsync();
}
}catch(Exceptione){
//exceptionhandling
}finally{
try{
consumer.commitSync();
}finally{
consumer.close();
}
}


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 架構
    +關注

    關注

    1

    文章

    485

    瀏覽量

    25200
  • 線程
    +關注

    關注

    0

    文章

    490

    瀏覽量

    19500
  • kafka
    +關注

    關注

    0

    文章

    49

    瀏覽量

    5163

原文標題:面試官:Kafka 會丟消息嗎?

文章出處:【微信號:小林coding,微信公眾號:小林coding】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【明天會更好】教你避開外企面試“高級”錯誤

    。面試中,應試者又出于種種顧慮,不愿主動說話,結果使面試出現冷場。即便能勉強打破沉默,語音語調亦極其生硬,使場面更顯尷尬。實際上,無論是面試前或面試中,
    發表于 03-09 10:53

    面試時要認真留意與觀察

    提問,時間大約是半個小時。兩輪面試后我拿到了這家公司的offer。 很幸運,我找到了一份不錯的工作,總結面試經過,我有幾點體會。 第一,切記不要遲到,帶好筆和筆記本。 面試,最重要的就是留給
    發表于 08-04 18:52

    面試中千萬不能犯的錯誤

    面試錯誤并不僅僅限于應聘者,面試官犯很多錯誤。以下上海公積金提取覺得是面試官們常犯的七個錯誤以及如何避免這些錯誤的方法:1. 談論可能性。應聘者們自然地推銷自己,但是
    發表于 08-31 08:45

    怎樣讀懂面試官的心

    實際上,面試也是供需雙方心理上的較量。作為應聘者來說,了解對方的心理特征,做到“明明白白他的心”,就能變被動為主動。因此,適當學習些心理學,掌握面試考官的基本心理特征,有準備、有針對性地參加面試
    發表于 11-22 17:09

    面試時,自我介紹三禁忌

    格,對同一個應聘者的回答,會有不同的評判?!澳慊卮?000元,有的面試官覺得你很踏實,實事求是。還有的面試官覺得你欲望不高,沒有上進心?!币虼?,白斌建議在校大學生,要學會察言觀色。
    發表于 11-25 19:57

    7個面試禁忌回答

    的誠實令人欽佩,但這樣的回答,在面試過程中是無用且不被面試官認可的?! ?、“我不了解貴公司”  如果你說不了解這家公司,面試官將會懷疑你為什么申請這個職位,是否只是為了金錢,而非職業?! ?、“不,我
    發表于 12-06 18:53

    以下五種人面試最難成功

    ?! ?三)不注重個人職業形象者  當你在投遞簡歷后接到面試通知后,你一般怎樣做?選擇一套合身的衣服,準備好需要呈給面試官的資料等,然后計算好去公司面試的時間在規定時間內達到
    發表于 12-15 21:41

    善用“微表情”打動面試官

    部位,幫助求職者矯正不良“微表情”。有學生發微博稱,微表情很給力?! 《床霩R“微表情”可投其所好  “微表情”不是求職者的專有名詞,HR也有“微表情”。求職者如果能“察言觀色”,也可以洞察面試官
    發表于 01-02 15:42

    關于應聘單片機職位的面試題目

    各位,有誰了解應聘單片機職位的筆試題目啊,會考察那些內容啊,面試官問一些什么問題呢?
    發表于 06-15 17:06

    程序員準備面試時常犯的錯誤總結

    1、只在電腦上練習 如果面試官要考核你的技術,很有可能會要求你在白板上寫代碼,而不是電腦上。所以,你就不能只在電腦上練習。電腦上的編譯器自動發現你的語法錯誤,但是白板不會。 拿出筆和紙來練習下
    發表于 11-24 17:59

    千萬別這么回答面試官問題!

    `又到一年面試季,小伙伴們都忙著找工作面試,是不是快被面試官的問題問成面癱了。今天小編來教教大家如何復仇,一句話噎死面試官!01 請你自我介紹一下噎死
    發表于 03-08 14:28

    華為面試改革,你怎么看?

    編程語言,進行兩輪面試,每輪約 45 分鐘。面試官均獨立進行面試考察,提前根據崗位要求設計編程考察題目,通過當面或視頻編程的方式,考察實際編程能力及相關知識技能掌握程度。候選人編程 30 分鐘,
    發表于 05-06 11:00

    面試官談軟件工程師面試技巧

    我最近一直在進行軟件工程師面試。面試開始時,我都會問面試官兩個問題,但至今沒有得到令我滿意的回答:
    的頭像 發表于 10-25 10:33 ?4247次閱讀

    來自一線面試官的AI領域校招建議

    作為京東集團2019秋招的一名算法崗面試官,來為大家解讀一下如何在AI領域的校招中脫穎而出。
    的頭像 發表于 11-28 15:06 ?3127次閱讀

    如何保證kafka消息不丟失

    如果在簡歷上寫了使用過kafka消息中間件,面試官大概80%的概率會問你:"如何保證kafka消息不丟失?"反正我是屢試不爽。
    的頭像 發表于 12-19 09:52 ?296次閱讀
    如何保證<b class='flag-5'>kafka</b>消息不丟失
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>