教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Kafka怎樣實現(xiàn)生產(chǎn)者冪等性?

更新時間:2021年12月06日16時03分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

什么是冪等性?用http舉例來說,一次或多次請求,得到地響應(yīng)是一致的(網(wǎng)絡(luò)超時等問題除外)就是冪等性,換句話說,就是執(zhí)行多次操作與執(zhí)行一次操作的影響是一樣的。

如果,某個系統(tǒng)是不具備冪等性的,如果用戶重復(fù)提交了某個表格,就可能會造成不良影響。例如:用戶在瀏覽器上點擊了多次提交訂單按鈕,會在后臺生成多個一模一樣的訂單。

Kafka在生產(chǎn)者生產(chǎn)消息時,如果出現(xiàn)retry時,有可能會一條消息被發(fā)送了多次,如果Kafka不具備冪等性的,就有可能會在partition中保存多條一模一樣的消息。

配置冪等性:props.put("enable.idempotence",true);
冪等性的原理:

為了實現(xiàn)生產(chǎn)者的冪等性,Kafka引入了 Producer ID(PID)和 Sequence Number的概念。

1.D:每個Producer在初始化時,都會分配一個唯一的PID,這個PID對用戶來說,是透明的。

2.equence Number:針對每個生產(chǎn)者(對應(yīng)PID)發(fā)送到指定主題分區(qū)的消息都對應(yīng)一個從0開始遞增的Sequence Number。




猜你喜歡:

怎樣一鍵啟動或關(guān)閉Kafka?有快捷的方法嗎?

Kafka基準(zhǔn)測試怎樣進行?

如果leader崩潰,Kafka怎樣重新選舉?

kafka自定義攔截器實例教程[傳智教育]

傳智教育Python+大數(shù)據(jù)開發(fā)培訓(xùn)

0 分享到:
和我們在線交談!