本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon SNS 中的高輸送量 FIFO 主題
Amazon SNS 中的高輸送量 FIFO 主題可有效管理高訊息輸送量,同時維持嚴格的訊息順序,確保處理大量訊息之應用程式的可靠性和可擴展性。此解決方案非常適合同時需要高輸送量和排序訊息傳遞的案例。若要使用高輸送量 FIFO 主題改善訊息輸送量,建議增加訊息群組的數量。如需高輸送量訊息配額的詳細資訊,請參閱 中的 Amazon SNS 服務配額Amazon Web Services 一般參考。
Amazon SNS FIFO 主題高輸送量的使用案例
下列使用案例強調高輸送量 FIFO 主題的各種應用程式,展示其在各產業和情境中的效率:
-
即時資料處理:處理事件處理或遙測資料擷取等即時資料串流的應用程式,可以受益於高輸送量 FIFO 主題,以處理訊息的持續流入,同時保留其順序以進行準確分析。
-
電子商務訂單處理:在維護客戶交易訂單至關重要的電子商務平台上,高輸送量 FIFO 主題可確保訂單按順序交付,而不會延遲,即使在尖峰購物季節也一樣。
-
金融服務:處理高頻率交易或交易資料的金融機構依賴高輸送量 FIFO 主題來處理市場資料和交易,同時遵守嚴格的訊息排序法規要求。
-
媒體串流:串流平台和媒體分發服務利用高輸送量的 FIFO 主題來管理媒體檔案和串流內容的交付,確保順暢的使用者播放體驗,同時維持內容交付的正確順序
Amazon SNS FIFO 主題高輸送量的分割區和資料分佈
透過高輸送量主題,Amazon SNS 會將 FIFO 主題資料分散到各個分割區。分割區是 主題的容量配置,該主題會自動複寫到 內的多個可用區域 AWS 區域。您未管理分割區。反之,Amazon SNS 會根據輸入速率,代表您自動管理分割區。
對於 FIFO 主題,Amazon SNS 會在下列情況修改主題中的分割區數量:
-
如果目前的發佈速率接近或超過現有分割區可支援的速率,則會分配額外的分割區,直到主題達到區域配額為止。如需配額的資訊,請參閱 中的 Amazon SNS 服務配額Amazon Web Services 一般參考。
-
如果目前的分割區使用率低,則可能會減少分割區的數目。
分割區管理會在背景自動進行,而且對您的應用程式是透明的。您的主題和訊息隨時可用。
注意
如果您突然且大幅增加主題的流量,同時傳送一般磁碟區數倍,則可能會發生暫時發佈 API 限流。此限流可持續長達重複資料刪除時段的持續時間,同時主題會向上擴展以適應增加的流量。
依訊息群組 ID 分發資料
將訊息發佈至 FIFO 主題時,Amazon SNS 會使用每個訊息的訊息群組 ID 的值做為內部雜湊函數的輸入。雜湊函數的輸出值會決定處理訊息的分割區,指定的分割區可能會處理一或多個訊息群組 IDs。
注意
Amazon SNS 已針對 FIFO 主題的分割區中項目的統一分佈進行最佳化,無論您 AWS 使用的訊息群組 IDs 可以有大量不同值的分割區數量為何。
在 Amazon SNS FIFO 主題上啟用高輸送量
根據預設,Amazon SNS FIFO 主題設定為進行主題層級重複資料刪除,這會由FifoThroughputScope設定為 的主題屬性控制,Topic並且具有更多限制的輸送量配額,請參閱 中的 Amazon SNS 服務配額Amazon Web Services 一般參考。
若要啟用 Amazon SNS FIFO 主題的高輸送量,請將 FifoThroughputScope 屬性更新為 MessageGroup。此變更可以透過 主控台或使用 AWS CLI 和 SDK 完成,也可以在主題建立期間設定,Amazon SNS 會建議獲得最佳客戶體驗,並減少您的主題受到調節的機會。
重要
啟用主題的 FifoThroughputScope至 後MessageGroup,該主題就無法還原為Topic輸送量。
為任何訂閱的 Amazon SQS FIFO 佇列啟用高輸送量模式
發佈至啟用高輸送量的 Amazon SNS FIFO 主題,並訂閱一或多個 Amazon SQS FIFO 佇列時,建議您在 Amazon SQS FIFO 佇列上啟用高輸送量,讓 Amazon SNS FIFO 高輸送量主題能夠順暢交付。如需詳細資訊,請參閱 Amazon 簡單佇列服務開發人員指南中的 FIFO 佇列的高輸送量。