中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

消息隊列之kafka(HA)

發布時間:2020-07-02 00:30:22 來源:網絡 閱讀:447 作者:原生zzy 欄目:大數據

1. kafka的HA

消息隊列之kafka(HA)

(1)zookeeper在kafka中的作用:

   - Zookeeper幫助kafka集群運行:存儲一些元數據,還會幫助kafka集群進行管理(選主)
   - 存儲關于消費者消費了哪些topic到那個進度的數據。

(2)kafka HA解決的問題:

   存在的問題:kafka在0.8以前的版本中,并不提供high available機制,一旦一個或者多個broker宕機,則宕機期間其上的partition都無法繼續提供服務。若該broker永遠不能回復或磁盤故障,則其上數據丟失。但是對于分布式來說尤其是集群上升到一定規模,一臺或者多臺機器宕機的可能性大大提高,對failover要求非常高。因此kafka開始在0.8版本以后提供高可用機制。
   解決的問題:Kafka的HA就是在數據層面上,即丟失一份數據,Consumer仍然可以正常消費(也表示一個broker宕機了,其上面的數據不會丟失)。
  解決的方案:使用replication(副本,對同一個數據進行數據備份)。其中副本之間有主副本和從副本之分(由zookeeper選出),每一個broker都會存儲一些主副本,保證kafka集群的負載均衡

(3)kafka HA寫數據的流程:

   - 使用zookeeper給多個副本的broker進行選主,選出一個leader
    這個leader相當于zookeeper中的一個臨時節點,如果leader宕機之后,zookeeper會再次選主,如果ISR列表中所有的follower都宕機了,此時會等待,等待ISR列表有一個follower重新可以使用的時候,這是就將這個follower變成leader。(ISR是kafka在zookeeper中維護的一個可使用的集群節點列表)
   - 在進行寫數據的時候,首先向leader寫入數據(主副本)
   - 其他的broker(follower)到leader中fetch數據(從副本)
   - 數據抓取完成后,會向leader返回(ack)信息
解釋 :在leader中會維護一個ISR(同步副本的列表),列表中存放的是所有的有效的follwer, 在這個列表中如果follower的數據和leader的數據落后太多的話(默認是4000條數據)或者一定時間沒有向leader發送fetch請求(默認是10秒),這時候會自動的將這個follwer剔除這個ISR列表中,在這個ISR列表中,每一個follower進行fetch完成數據,就會向leader發送數據,最終leader如果接受到所有的follower反饋,然后向producer進行反饋,發送ACK。
其中ACK表示Producer寫入數據的返回級別:

    0 表示只要producer發送數據,就表示寫數據成功
    1 表示只要leader寫入成功,就表示寫數據成功
    all /-1 表示所有的副本寫成功,才認為數據寫入成功
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尤溪县| 涞水县| 滨海县| 囊谦县| 诸城市| 灵台县| 平罗县| 巴林左旗| 额尔古纳市| 会昌县| 长垣县| 手机| 岳阳市| 虹口区| 黄大仙区| 凤凰县| 吉木乃县| 昭通市| 兴城市| 江安县| 平和县| 屯昌县| 珲春市| 会宁县| 永吉县| 涟水县| 中阳县| 霸州市| 石家庄市| 前郭尔| 马关县| 腾冲县| 屏山县| 常山县| 肃北| 榆林市| 彭阳县| 菏泽市| 金湖县| 盐亭县| 家居|