總部和分子公司之間跨系統傳輸/收集資料,需要提高時效性。
使用者使用 FDL 的資料服務功能建立資料接收API,將資料寫入到資料庫,發現無法對接收的資料進行處理,比如:
接收的資料為 JSON 格式,需要解析後才能使用。
接收的資料需要做一些處理例如匯總後才能使用。
使用者希望對接收的資料處理後再入庫。
解決方案一:此時如果使用定時任務接入資料庫資料進行處理,會發現鏈路長,時效性低的問題,比如:
定時執行的時效性不夠,執行間隔+執行時間達不到實時要求。
資料沒有更新的時候,定時任務也會同步執行,會導致效能浪費。
部分系統例如簡道雲只能查詢全量資料再比對,處理的資料量級很大,導致資料處理效能很慢。。
解決方案二:資料庫開啟實時資料獲取>透過實時任務呼叫定時任務觸發後續流程,會發現,使用了多個功能模組,交互複雜效率低下,增加了一個維運資料庫的工作。
1)資料服務功能中,發佈一個 API:
2)與實時任務中的「Webhook輸入」算子聯合使用,實現呼叫API後對資料進行處理再匯出的效果。如下圖所示:
1)需要註冊API協定(實時)功能點、資料服務基礎包功能點、實時任務相關功能點
2)叢集工程,資料服務功能中必須開啟「訊息佇列中間軟體」按鈕。
1)Webhook輸入算子不支援 FlinkSQL;由於Webhook是僅插入流,無法獲知到更新事件,針對部分計算可能會和預期不符。
2)實時任務中使用「Webhook輸入」算子,FDL 工程重啟後,實時任務會啟動失敗,需要使用者手動重啟下實時任務;該問題後續會優化。
3)5.0.12.3 之前版本,實時任務開啟「髒資料容忍」,「Webhook輸入」算子插入一條髒資料時,API傳回 succss,實時任務無異常報錯,髒資料條數+1,源端會繼續推播資料,造成資料丟失。如下圖所示:
5.0.12.3 及之後版本,在 FineDB 的 fine_conf_entity 表中,新增參數WebhookReaderGlobalConfig.writeFailureHandleMode,值為RETURN_FAILURE_ACK,重啟 FDL工程。
使用者需謹慎修改 FineDB,建議聯絡技術支援協助修改;修改方案可參見:手动修改fine_conf_entity
此時,實時任務開啟「髒資料容忍」,「Webhook輸入」算子插入一條髒資料時,API報錯:50000,髒資料條數+1。
1)使用 資料接收 發佈一個 API。
2)實時任務中拖入「Webhook輸入」算子,呼叫資料接收 API:
下拉框中顯示有權限的,服務接收方式為「僅配置地址」的 API
功能同 資料接收 中的測試呼叫效果
可填入API請求,呼叫API;此處會實際呼叫API寫入資料
顯示 API 綁定的應用數量,可點選,查看完整 API 路徑,支援複製 API 路徑
點選「資料預覽」,查看取出資料:
可以根據實際情況拖入其他算子對資料進行處理。
請參見:資料接收-通用API接收
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙