日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 

 

 

熟悉Apache 大數據開發技術棧的朋友都知道 Kafka 在大數據開發中的作用,所以面試中會遇到相關問題。

這個問題問的非常好,所以有必要記錄一下。對從事大數據開發的工程師來說也可以借鑒。

Kafka通常用于兩大類應用:

· 構建實時流數據管道,在系統或應用程序之間可靠地獲取數據

· 構建轉換或響應數據流的實時流應用程序

下圖可以看到Kafka 可以用于應用程序與數據庫之間消息流傳遞的橋梁,可用于軟件服務系統,數據分析及監控系統。

面試題:Kafka消息隊列會丟數據么?

Kafka消息隊列的應用

所以傳遞消息的可靠性是其非常關鍵的特性,同時也是軟件服務質量的保證。

什么時候會丟數據能?

Kafka流媒體平臺是發布和訂閱消息的構架,類似于消息隊列或企業消息傳遞系統。

由 Producer(生產),Broker(存儲)和(Consumer)消費三部分構成。

 

面試題:Kafka消息隊列會丟數據么?

生產者與消費者

先看Producer 的特性怎么用會數據丟失呢?

1. 當屬性中的確認(ACK)不是all。

  • acks = all -只有當所有消費者確認保存了消息時,才會返回ACK。--不會丟
  • acks = 1 -當leader消費者保存消息就返回ACK – 接收的leader如果確認后還沒來得及備份就掛了丟數據
  • acks = 0 -不等待任何確認 – 接收方有問題時候丟數據

2. 當send后producer程序掛了丟數據(如果沒用鉤子,flush 也沒來得及)

因為如下圖所示 producer 先把數據放buffer里面,而且是異步的。Buffer里面的數據是內存中數據程序退出就沒了。所以記得用鉤子

 

面試題:Kafka消息隊列會丟數據么?

Producer 中的 Buffer

下面是一個JAVA 8+關機鉤子的例子:

 

面試題:Kafka消息隊列會丟數據么?

鉤子例子

總結:

其實這個問題遇到過,但是面試時候只想到了checkpoint 沒有想到這里。

為什么呢?

只關注了自己最熟悉的方面來回答,并沒有從系統構架上去思考

當我們把一個系統給它拆開分析的時候,就會有更多的思路,也就會有更全面的回答。

還有沒有其它情況會丟數據呢?待續。

分享到:
標簽:Kafka
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定