事件流事件來源的注意事項和使用限制

更新時間:
Copy as MD

事件來源

注意事項和使用限制

雲訊息佇列 RocketMQ 版

  • 多訂閱限制:一個Group只能被一個事件流獨佔,不同事件流使用不同的Group,也不允許在其他自訂程式中再使用該Group;

  • 並發數限制:並發數的上限為RocketMQ的隊列數。

雲訊息佇列 Kafka 版

  • 多訂閱限制:一個Group只能被一個事件流獨佔,不同事件流使用不同的Group,也不允許在其他自訂程式中再使用該Group;

  • 並發數限制:並發數的上限為Kafka的分區數。

輕量訊息佇列(原 MNS)

  • 多訂閱限制:MNSQueue不支援多訂閱,所以配置任務的時候,一個Queue只能被EventBridge的一個任務綁定,不建議應用程式自己訂閱Queue,也不建議EventBridge多個任務共用一個Queue;

  • 處理時間長度限制:MNS的訊息有可見度時間限制,即指定時間內訊息如果沒有成功處理完畢,就會導致MNS的訊息重新投遞。因此,當下遊RT回應時間較長時,需要修改延長MNSQueue的可見度時間,否則會導致訊息重複投遞。

雲訊息佇列 RabbitMQ 版

  • 處理時間長度限制:RabbitMQ的訊息有可見度時間限制,即指定時間內訊息如果沒有成功處理完畢,就會導致RabbitMQ的訊息重新投遞。RabbitMQ的預設可見度時間和 RabbitMQ 執行個體類型相關,具體可參考消費重試策略,不可修改。因此,當下遊RT回應時間較長時,會導致訊息重複投遞;

  • 參數限制:自建RabbitMQ不支援多 IP 存取點。

Message QueueTT 版

  • 處理時間長度限制:MQTT的訊息有可見度時間限制,即指定時間內訊息如果沒有成功處理完畢,就會導致MQTT的訊息重新投遞。MQTT的預設可見度時間為:10s,不可修改。因此,當下遊RT回應時間較長時,會導致訊息重複投遞;

  • Region 及 執行個體限制:僅支援國內Region 3.X 版本 MQTT 執行個體。

雲資料庫 RDS MySQL 版

  • 版本限制:支援MySQL 5.6,5.7,8.0;

  • MySQL參數限制:

    • BinLog日誌需開啟

    • BINLOG_FORMAT需設定為ROW

    • BINLOG_ROW_IMAGE需設定為FULL

    • 需開啟GTID

    • 需開啟enforce_gtid_consistency

  • 許可權限制:配置的資料庫帳號必須要被授予相關許可權:REPLICATION CLIENT、REPLICATION SLAVE、SELECT、RELOAD、SHOW DATABASES;

  • Table限制:不能是一個View,且必須設定主鍵;

  • At-least-once:保障資料至少投遞一次,但不保證資料不重複;如果服務出現宕機會重啟,資料可能會出現少量重複,需要下遊做好等冪;

  • BinLog儲存周期限制:BinLog儲存周期至少大於快照同步的時間長度(一般建議大於3天)。如果歷史快照資料過多,同步下遊速度過慢,快照資料同步時間長度超過了BinLog的儲存周期,會導致快照同步完畢時BinLog已經到期而同步失敗,觸發周期性重試。

Log ServiceSLS

  • 多訂閱限制:EventBridge 會為消費 SLS 的任務建立消費組Group,不同事件流使用不同的Group,不允許在其他自訂程式中再使用該Group;

  • 並發數限制:並發數的上限為SLS LogStore可讀的Shard數。

Data Transmission Service

  • 多訂閱限制:採用 SUBSCRIBE 模式消費,請勿使用同一消費組建立其他任務;

  • 地區限制:支援建立 DTS 任務的地區:華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華南1(深圳)、華南3(廣州)、西南1(成都)、中國香港。

事件匯流排EventBus

  • 多訂閱限制:通過事件流訂閱EventBus事件時,一個Rule只能被一個事件流綁定,否則多個事件流會爭搶這個EventBus的事件;

  • 處理時間長度限制:EventBus的訊息有可見度時間限制,即指定時間內訊息如果沒有成功處理完畢,就會導致EventBus的訊息重新投遞。EventBus的預設可見度時間為:6min,不可修改。因此,當下遊RT回應時間較長時,會導致訊息重複投遞。