Kafka觸發器
更新時間 2025-05-26 15:37:11
最近更新時間: 2025-05-26 15:37:11
分享文章
Kafka觸發器可以訂閱天翼云提供的分布式消息隊列Kafka實例,并根據消息觸發關聯的函數,借此能力,使得函數可以消費指定topic的消息,執行自定義處理邏輯。
注意事項
Kafka觸發器訂閱的Kafka實例必須和函數計算的函數實例在相同地域。
前提條件
- 已創建函數。
- 已開通分布式消息Kafka實例(KAFKA引擎版),詳情請參考創建分布式消息服務Kafka實例。
- 已創建Topic,創建GroupID(可選)。
操作步驟
- 登錄,點擊目標函數,進入函數詳情。
- 選擇詳情下頂部的配置選項卡。
- 在配置選項卡中,選擇左邊的觸發器選項卡。
- 點擊創建觸發器,在彈出的右抽屜中選擇Kafka觸發器,配置參數解釋如下。
| 配置項 | 操作 | 示例 |
|---|---|---|
| 觸發器類型 | 選擇Kafka觸發器。 | Kafka觸發器 |
| 名稱 | 填寫自定義的觸發器名稱。 | kafka-trigger |
| 版本或別名 | 默認值為LATEST,支持選擇任意函數版本或函數別名。 | LATEST |
| Kafka 實例 | 選擇已創建的Kafka實例。 | - |
| Topic | 選擇已創建的Kafka實例的Topic。 | - |
| Group ID | 快速創建:推薦方案。自動創建以 GROUP-FC-Trigger-{trigger_name}-{uuid} 命名的 Group ID。 使用已有:選擇Kafka實例已有的GroupID,請您注意不要與已有的業務混用GroupID,否則會影響已有的消息收發。 |
- |
| 消費任務并發數 | 消費者的并發數量,有效取值范圍為[1,20],建議不超過Topic的分區數。該值同時影響投遞到函數的并發數。 | - |
| 消費位點 | 選擇消息的消費位點,即觸發器從kafka消息隊列開始拉取消息的位置。 最早位點:從最早位點開始消費。 最新位點:從最新位點開始消費。 |
最新位點 |
| 調用方式 | 選擇函數調用方式。 同步調用:指觸發器消費topic消息后投遞到函數是同步調用,會等待函數響應后繼續下一個消息投遞。但消費任務并發數大于1時,多個消費者有可能會并發消費消息并投遞,并發的情況視topic隊列本身積存的消息而定。 異步調用:指觸發器消費topic消息后投遞到函數是異步調用,不會等待函數響應,可以快速消費事件。 |
同步調用 |
| 觸發器啟用狀態 | 創建觸發器后是否立即啟用。默認選擇開啟,即創建觸發器后立即啟用觸發器。 | 啟用 |
| 推送配置 | 批量推送條數:批量推送的最大值,積壓值達到后立刻推送,取值范圍為 [1, 10000]。 批量推送間隔:批量推送的最大時間間隔,達到后立刻推送,單位秒,取值[0,15]。默認0無需等待,數據直接推送。 推送格式:函數收到的事件格式,詳情請查閱觸發器事件消息格式。 |
- |
| 重試策略 | 消息推送函數失敗后重試的策略,共兩種: 指數退避:指數退避重試,重試5次,重試周期為2,4,8,16,32(秒)。 線性退避:線性退避重試,重試5次,重試周期為1,2,3,4,5(秒)。 |
- |
| 容錯策略 | 當重試次數耗盡后仍然失敗時的處理方式: 允許容錯:當異常發生并超過重試策略配置時直接丟棄。 禁止容錯:當異常發生并超過重試策略配置時繼續阻塞執行。 |
- |
| 死信隊列 | 當容錯策略為:允許容錯時,可以額外開啟死信隊列。當開啟死信隊列時且異常發生并超過重試策略配置時,消息會被投遞到指定的消息隊列里,當前只支持投遞到kafka和rocketmq | - |