本篇面試內容劃重點:訊息投遞語義、冪等、rebalance、調優。
kafka 支援 3 種訊息投遞語義,最多一次,最少一次,恰好一次。具體看下述說明。
at most once:最多一次這種語義可能存在訊息丟失的情況,但不會重複消費。producer 端傳送訊息時配置非同步傳送即是這一種語義,可能存在資料丟失的情況,好處是高效,不需要等待 broker 響應成功訊息。 大家都知道,consumer 在消費資料時需要管理 offset,那麼如果 consumer 在讀取訊息後,先修改 offset,然後處理訊息,這就是最多一次的語義,但是生產環境中一般不會用這種方式。
at least once:最少一次這種語義訊息不會丟失,但是可能會重複。producer 端同步傳送訊息時,需要等待 broker 確認,如果由於網路問題,確認訊息沒有傳送成功或者延遲了,producer 會重試,所以可能會存在重複的情況但是不會丟失。 consumer 消費資料後,先處理資料,然後修改 offset,這種方式保證了 at least once 語義。因為如果 consumer
Kafka高階 工作機制與檔案儲存機制
producer向topic leader分類推送資料,每乙個佇列的主題都不同。topic leader向topic follower實時備份資料,防止topic leader突然掛掉。consumer消費topic leader中的資料,以offset為標誌,表示消費到的位置,以便出錯恢復時,從上...
BPEL事務與補償機制
事務 transaction 對於軟體工程師來說是乙個非常重要的概念。按照非正式的表述方式,事務是指一組作為同一單元的活動,要麼全部成功,要麼全部失敗。這種 全部或者沒有 的語義是資料庫訪問的基礎。按照正式的表述,事務包括如下屬性 原子性 一致性 隔離性和永續性 atomic consistent ...
BPEL事務與補償機制
事務 transaction 對於軟體工程師來說是乙個非常重要的概念。按照非正式的表述方式,事務是指一組作為同一單元的活動,要麼全部成功,要麼全部失敗。這種 全部或者沒有 的語義是資料庫訪問的基礎。按照正式的表述,事務包括如下屬性 原子性 一致性 隔離性和永續性 atomic consistent ...