全部產品
Search
文件中心

Data Transmission Service:配置資料訂閱任務

更新時間:Jan 03, 2025

資料訂閱功能可以協助您擷取資料庫的即時增量資料,您可以根據自身業務需求自由消費增量資料,並寫入任意目標端,適配各類業務情境,例如緩衝更新、業務非同步解耦、異構資料來源資料即時同步及含複雜ETL的多種業務情境。本文將介紹在DTS專屬叢集中如何建立RDS MySQL資料訂閱任務。

前提條件

注意事項

類型

說明

源庫限制

  • 待訂閱的表需具備主鍵或唯一約束,且欄位具有唯一性,否則可能會導致訂閱到的重複資料。

  • 如訂閱對象為表層級,則單次訂閱任務僅支援至多500張表。當超出數量限制,任務提交後會顯示請求報錯,此時建議您拆分待訂閱的表,配置多個訂閱任務,或者配置整庫的訂閱任務。

  • Binlog日誌:

    • binlog_row_image參數需為full,查看方式,請參見查看執行個體參數。否則預檢查階段提示報錯,且無法成功啟動資料訂閱任務。

    • DTS要求來源資料庫的本地Binlog日誌儲存24小時以上,否則DTS可能因無法擷取Binlog而導致任務失敗,極端情況下甚至可能會導致資料不一致或丟失。由於您所設定的Binlog日誌儲存時間低於DTS要求的時間進而導致的問題,不在DTS的SLA保障範圍內。

  • 若源執行個體為唯讀執行個體或臨時執行個體,您需確保該執行個體有記錄事務的日誌。

其他限制

  • 請確認DTS對資料類型為FLOAT或DOUBLE的列的訂閱精度是否符合業務預期。DTS會通過ROUND(COLUMN,PRECISION)來讀取這兩類列的值。如果沒有明確定義其精度,DTS對FLOAT的訂閱精度為38位,對DOUBLE的訂閱精度為308位。

  • 由於使用pt-online-schema-change等類似工具執行線上DDL變更不會被訂閱到,用戶端在將消費到的資料寫入目標表時可能會因為表結構不一致而導致寫入失敗。

  • 若您訂閱的單行資料超過16MB,則不支援消費,否則可能會導致消費用戶端記憶體OOM(Out of Memory)。

操作步驟

  1. 進入DTS專屬叢集頁面

  2. 工作台右側,選擇專屬叢集所在地區。

  3. 在目標專屬叢集操作列,選擇配置任務 > 配置訂閱任務

  4. 配置源庫資訊消費網路類型

    警告

    選擇源執行個體後,建議您仔細閱讀頁面上方顯示的使用限制,否則可能會導致任務失敗或無法消費訂閱資料。

    類別

    配置

    說明

    任務名稱

    DTS會自動產生一個訂閱名稱,建議配置具有業務意義的名稱(無唯一性要求),便於後續識別。

    源庫資訊

    選擇已有串連資訊

    您可以按實際需求,選擇是否使用已有執行個體。

    • 如使用已有執行個體,下方資料庫資訊將自動填入,您無需重複輸入。

    • 如不使用已有執行個體,您需要輸入下方的資料庫資訊。

    資料庫類型

    選擇MySQL

    接入方式

    選擇雲執行個體

    執行個體地區

    源RDS MySQL執行個體所屬地區。在建立專屬叢集時已指定,不支援更改。

    是否跨阿里雲帳號

    本樣本選擇不跨帳號

    RDS執行個體ID

    選擇RDS MySQL執行個體ID。

    資料庫帳號

    填入RDS MySQL資料庫的唯讀帳號,或具備REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和SELECT許可權的自訂帳號。

    資料庫密碼

    填入該資料庫帳號對應的密碼。

    串連方式

    根據需求選擇非加密串連SSL安全連線。如果設定為SSL安全連線,您需要提前開啟RDS MySQL執行個體的SSL加密功能,詳情請參見設定SSL加密

    消費網路類型

    網路類型

    消費網路類型目前僅支援專用網路,請選擇對應的專用網路虛擬交換器

    說明

    網路類型任務配置完成後不可修改,在消費訂閱的資料時要使用對應的網路類型消費訂閱的資料。

  5. 配置完成後,單擊頁面右下角的測試連接以進行下一步

    如果來源資料庫是阿里雲資料庫執行個體(例如RDS MySQLApsaraDB for MongoDB等),DTS會自動將對應地區DTS服務的IP地址添加到阿里雲資料庫執行個體的白名單;如果來源資料庫是ECS上的自建資料庫,DTS會自動將對應地區DTS服務的IP地址添到ECS的安全規則中,您還需手動在ECS上的自建資料庫中添加對應地區DTS服務的IP地址,以允許來自DTS伺服器的訪問;如果來源資料庫是IDC自建資料庫或其他雲資料庫,則需要您手動添加對應地區DTS服務的IP地址,以允許來自DTS伺服器的訪問。DTS服務的IP地址,請參見DTS伺服器的IP位址區段

    警告

    DTS自動添加或您手動添加DTS服務的公網IP位址區段可能會存在安全風險,一旦使用本產品代表您已理解和確認其中可能存在的安全風險,並且需要您做好基本的安全防護,包括但不限於加強帳號密碼強度防範、限制各網段開放的連接埠號碼、內部各API使用鑒權方式通訊、定期檢查並限制不需要的網段,或者使用通過內網(專線/VPN網關/智能網關)的方式接入。

  6. 配置任務對象。

    1. 對象配置頁面,配置待訂閱的對象。

      配置

      說明

      需要訂閱的資料類型

      需要訂閱的資料類型預設已勾選,且不支援修改。

      • 資料更新

        訂閱已選擇對象的增量資料更新,包含資料的INSERT、DELETE和UPDATE操作。

      • 結構更新

        訂閱整個執行個體所有對象的結構建立、刪除及修改,您需要使用資料訂閱用戶端過濾所需的資料。

      源庫對象

      源庫對象列表中,選擇待訂閱對象,單擊表徵圖向右小箭頭,將其移動到已選擇對象列表中。

      說明

      訂閱對象支援選擇的粒度為庫、表。

      • 如果選擇整個庫作為訂閱對象,那麼該庫中新增對象的增量資料也可以被訂閱到。

      • 如果選擇某個表作為訂閱對象,那麼只有這個表的增量資料可以被訂閱到。此時如果需要加入一個新的表作為訂閱對象,您需要將其加入至訂閱對象中,詳情請參見修改訂閱對象

    2. 單擊下一步高級配置,進行進階參數配置。

      配置

      說明

      選擇調度該任務的專屬叢集

      固定為當前的專屬叢集,且不支援修改。

      源庫、目標庫無法串連後的重試時間

      在訂閱任務串連失敗時,DTS會立即進行持續的重試串連,預設持續重試時間為720分鐘,您也可以在取值範圍(10~1440分鐘)內自訂重試時間,建議設定30分鐘以上。如果DTS在設定的時間內重新串連上源庫,訂閱任務將自動回復。否則,訂閱任務將失敗。

      說明
      • 針對相同源庫的多個DTS執行個體,如DTS執行個體A和DTS執行個體B,設定網路重試時間時A設定30分鐘,B設定60分鐘,則重試時間以低的30分鐘為準。

      • 由於串連重試期間,DTS將收取任務運行費用,建議您根據業務需要自訂重試時間,或者在源庫釋放後儘快釋放DTS執行個體。

      源庫、目標庫出現其他問題後的重試時間

      在訂閱任務啟動後,若源庫出現非串連性的其他問題(如DDL或DML執行異常),則DTS會報錯並會立即進行持續的重試操作,預設持續重試時間為10分鐘,您也可以在取值範圍(1~1440分鐘)內自訂重試時間,建議設定10分鐘以上。如果DTS在設定的重試時間內相關操作執行成功,訂閱任務將自動回復。否則,訂閱任務將會失敗。

      重要

      源庫、目標庫出現其他問題後的重試時間的值需要小於源庫、目標庫無法串連後的重試時間的值。

      環境標籤

      您可以根據實際情況,選擇用於標識執行個體的環境標籤。本樣本無需選擇。

      是否去除正反向任務的心跳錶sql

      根據業務需求選擇是否在DTS執行個體運行時,在源庫中寫入心跳SQL資訊。

      • :不在源庫中寫入心跳SQL資訊,DTS執行個體可能會顯示有延遲。

      • :在源庫中寫入心跳SQL資訊,可能會影響源庫的物理備份和複製等功能。

      監控警示

      是否設定警示,當訂閱失敗或延遲超過閾值後,將通知警示連絡人。

  7. 上述配置完成後,單擊頁面右下角的下一步儲存任務並預檢查

    您可以將滑鼠游標移動至下一步儲存任務並預檢查按鈕上,然後單擊氣泡中的預覽OpenAPI調用,查看調用API介面配置該執行個體時的參數資訊。

    說明
    • 在訂閱任務正式啟動之前,會先進行預檢查。只有預檢查通過後,才能成功啟動訂閱任務。

    • 如果預檢查失敗,請單擊失敗檢查項後的查看詳情,並根據提示修複後重新進行預檢查。

    • 如果預檢查產生警告:

      • 對於不可以忽略的檢查項,請單擊失敗檢查項後的查看詳情,並根據提示修複後重新進行預檢查。

      • 對於可以忽略無需修複的檢查項,您可以依次單擊點擊確認警示詳情確認屏蔽確定重新進行預檢查,跳過警示檢查項重新進行預檢查。如果選擇屏蔽警示檢查項,可能會導致資料不一致等問題,給業務帶來風險。

  8. 預檢查通過率顯示為100%時,單擊下一步-選擇DTS執行個體規格

  9. 資訊配置地區配置任務的鏈路規格,最少配置1DU,最多配置剩餘可用數。

  10. 配置完成後,閱讀並勾選《資料轉送(隨用隨付)服務條款》

  11. 單擊啟動任務,訂閱任務正式開始。

    您可以在叢集工作清單中篩選目標任務,並查看任務的進度。

後續步驟

成功運行訂閱任務後,您需要新增消費組,並根據下遊用戶端選擇訂閱資料消費方式。

  1. 消費組的建立和管理,請參見新增消費組

  2. 根據消費用戶端類型,選擇訂閱資料的消費方式: