真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Kafka水位是什么

這篇文章主要講解了“Kafka水位是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Kafka水位是什么”吧!

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的靈川網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

什么是水位

kafka中用水位來描述,
一個分區(qū)中的可見數(shù)據(jù)的offset。
大概你需要知道這幾點:

  1. hw(水位)你可以理解成是一個全局(所有副本最小offset)的offset,
    針對的是一個分區(qū)

  2. LEO代表著該副本的所有消息的最大offset,
    針對的是一個副本,也就是每個副本都有LEO,并且不一樣。
    其中所有副本中最小的LEO就是水位

Kafka水位是什么  

水位

為什么要水位?

為了保障數(shù)據(jù)的一致性

Kafka中水位的運作

當(dāng) Leader收到一條消息并寫入成功,
其LEO則和馬上 +1.
副本會定期去和Leader進行同步,
每同步一個消息,其自己的LEO相應(yīng)+1,
而水位則是所有副本最小的LEO,
所以也會慢慢進行增加。

  • 和ACK的關(guān)系
    其實沒有必然的關(guān)系,
    ACK是用來保證數(shù)據(jù)不丟失的,
    而 hw 是用來保證客戶端消費的一致性的,
    不過當(dāng)ACK=-1,
    因為會等到數(shù)據(jù)完全寫入到所有副本,
    才能返回成功,
    也就是說所有副本的LEO都 +1,
    其水位必然也會 +1,
    這個時候就可以避免數(shù)據(jù)丟失了。
    否則則會存在數(shù)據(jù)丟失的風(fēng)險

  • 為什么ACK != -1 數(shù)據(jù)就可能丟失
    比如一個分區(qū),四個副本1,2,3,4:
    1:LEO = 10(Leader)
    2:LEO = 8
    3:LEO = 7
    4:LEO = 6
    此時 hw = 6,
    當(dāng)1 號Leader掛掉了,
    3號當(dāng)選了新Leader,
    則所有存活副本首先會將hw之外的所有數(shù)據(jù)清除,
    然后從Leader同步水位之后的數(shù)據(jù)
    比如2號副本:
    先清除本身數(shù)據(jù)7,8,LEO變成6,
    然后去Leader同步6之后的數(shù)據(jù),
    哪怕老Leader1號恢復(fù)了,6-10號數(shù)據(jù)還在,
    也需要將宕機時候的hw之后的數(shù)據(jù)全部清除,
    重新從Leader同步數(shù)據(jù)

感謝各位的閱讀,以上就是“Kafka水位是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Kafka水位是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


分享文章:Kafka水位是什么
本文鏈接:http://weahome.cn/article/psshgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部