輕量訊息佇列(原 MNS)支援將亞馬遜雲端運算服務AWS(Amazon Web Services)的產品Amazon Simple Queue Service(Amazon SQS)和Amazon Simple Notification Service(Amazon SNS)資料無縫遷移至阿里雲產品輕量訊息佇列(原 MNS)。本文從產品功能、限制和SDK角度介紹Amazon SQS、Amazon SNS和輕量訊息佇列(原 MNS)的區別,以及如何通過簡單的適配完成SQS和SNS資料的遷移。
背景資訊
Amazon SQS、Amazon SNS和輕量訊息佇列(原 MNS)產品功能接近一致。阿里雲產品輕量訊息佇列(原 MNS)提供隊列模型和主題模型,AWS產品SQS和SNS分別提供隊列模型和主題模型。
功能對比
下表從隊列模型和主題模型兩個功能角度對比阿里雲產品輕量訊息佇列(原 MNS)與AWS雲產品SQS和SNS。
功能分類 | 功能明細 | 輕量訊息佇列(原 MNS) | Amazon SQS/Amazon SNS |
隊列模型 | 訊息生命週期 | 支援,訊息狀態機器的狀態包含以下類型:
| 支援,訊息狀態機器的狀態包含以下類型:
|
訊息自訂儲存時間長度 | 支援 | 支援 | |
訊息延遲(訊息定時時間) | 支援 | 支援 | |
訊息可見度逾時時間 | 支援 | 支援 | |
訊息最大長度配置 | 支援 | 支援 | |
無效信件佇列 | 支援 | 支援 | |
FIFO隊列(順序) | 支援 | 支援 | |
主題模型 | 過濾訂閱 | 支援Tag過濾 | 支援JSON策略過濾 |
Queue訂閱 | 支援 | 支援 | |
HTTP訂閱 | 支援 | 支援 | |
簡訊訂閱 | 支援 | 支援 | |
信箱訂閱 | 支援 | 支援 | |
Alibaba Cloud Mobile Push | 支援 | 支援 | |
Function Compute | 支援 | 支援 | |
無效信件佇列 | 支援 | 支援 | |
FIFO主題(順序) | 支援 | 支援 |
功能限制
下表從隊列模型和主題模型兩個功能角度對比阿里雲產品輕量訊息佇列(原 MNS)與AWS雲產品SQS和SNS。
功能分類 | 功能明細 | 輕量訊息佇列(原 MNS) | Amazon SQS/Amazon SNS |
隊列模型 | Queue命名 | 隊列名稱區分大小寫,最多可包含120個字元。 | 隊列名稱區分大小寫,最多可包含80個字元。 |
訊息儲存時間 | 7天 | 14天 | |
長輪詢間隔 | 0s~30s,預設為15s。 | 0s~20s | |
訊息最大負載 | 64 KB。如需調整訊息最大負載,可提交工單申請。 | 256 KB | |
訊息可見度逾時時間 | 1s~43200s,預設為30s。 | 1s~43200s,預設為30s。 | |
隊列標識 |
|
| |
訊息延時時間 | 使用參數DelaySeconds設定,取值範圍:0s~604800s。 | 使用參數DelaySeconds設定,取值範圍:0s~604800s。 | |
訊息堆積數量限制 | 無限制 | 無限制 | |
訪問QPS限制 | 不在隊列資源維度設限,每個主帳號每個地區有限流閾值,資料流訊息收發相關介面QPS上限為20000,更多資訊,請參見限流策略。 | 無限制 | |
主題模型 | Topic名稱限制 | 120個字元,不區分大小寫。 | 3~64個字元,區分大小寫。 |
訊息最大長度 | 64 KB | 256 KB | |
重試策略限制 |
|
| |
單主題訂閱數量限制 | 100個。如需調整,可提交工單申請。 | 12500000個 | |
訪問QPS限制 | 不在佈景主題資源維度設限,每個主帳號每個地區有限流閾值,資料流訊息收發相關介面QPS上限為20000,更多資訊,請參見限流策略。 | 每個主題300 QPS,或者每秒10 MB流量,以先到者為準。 |
SDK對比
SDK類型 | 阿里雲輕量訊息佇列(原 MNS) | Amazon SQS | Amazon SNS |
管控API | |||
HTTP SDK | 支援Java、Python、C#、PHP、C++、Go和JMS等SDK。 | 支援Java、JavaScript、PHP、Python、Ruby和Windows & .NET等SDK。 | 支援Java、JavaScript、PHP、Python、Ruby和Windows & .NET等SDK。 |
遷移步驟說明
從SQS和SNS遷移資料到輕量訊息佇列(原 MNS)時,為確保您的業務平滑過渡,建議您首先同步隊列、主題和訂閱的中繼資料,然後業務側做雙讀雙寫策略過渡。下圖以SQS資料移轉到輕量訊息佇列(原 MNS)為例,介紹遷移的過程。具體步驟如下: