Simple Message Queue (SMQ, 旧 MNS) は、AWS Simple Queue Service (SQS) や AWS Simple Notification Service (SNS) などのサービスからのシームレスなデータ移行を提供します。このトピックでは、SMQ、SQS、SNS の機能、制限事項、SDK に基づく違いについて説明します。また、SQS または SNS から SMQ へのデータ移行プロセスについても説明します。
背景情報
SMQ、SQS、SNS は類似の機能を持ちます。SMQ は、キューベースのメッセージングモデルとトピックベースのメッセージングモデルを提供します。SQS は、キューベースのメッセージングモデルを提供します。SNS は、トピックベースのメッセージングモデルを提供します。
機能の比較
次の表は、キューベースのメッセージングモデルとトピックベースのメッセージングモデルごとに、SMQ、SQS、SNS の機能を比較したものです。
モデル | 機能 | SMQ | Amazon SQS/Amazon SNS |
キューベースのメッセージングモデル | メッセージライフサイクル | サポート済み。メッセージの状態機械には次の状態があります:
| サポート済み。メッセージの状態機械には次の状態があります:
|
メッセージのカスタム保持期間 | サポート済み | サポート済み | |
メッセージ遅延 (スケジュール期間) | サポート済み | サポート済み | |
可視性タイムアウト期間 | サポート済み | サポート済み | |
最大メッセージ長 | サポート済み | サポート済み | |
デッドレターキュー | サポート済み | サポート済み | |
FIFO キュー (シーケンス) | サポート済み | サポート済み | |
トピックベースのメッセージングモデル | データフィルタリング | タグによるデータフィルタリング | JSON ポリシーによるデータフィルタリング |
キューサブスクリプション | サポート済み | サポート済み | |
HTTP サブスクリプション | サポート済み | サポート済み | |
テキストメッセージサブスクリプション | サポート済み | サポート済み | |
E メールサブスクリプション | サポート済み | サポート済み | |
モバイルプッシュ | サポート済み | サポート済み | |
Function Compute | サポート済み | サポート済み | |
デッドレターキュー | サポート済み | サポート済み | |
FIFO トピック (シーケンス) | サポート済み | サポート済み |
制限事項の比較
次の表は、キューベースのメッセージングモデルとトピックベースのメッセージングモデルごとに、SMQ、SQS、SNS の制限事項を比較したものです。
モデル | 機能 | SMQ | Amazon SQS/Amazon SNS |
キューベースのメッセージングモデル | キューの命名 | キュー名では大文字と小文字が区別されます。各名前は 1~120 文字である必要があります。 | キュー名では大文字と小文字が区別されます。各名前は 1~80 文字である必要があります。 |
メッセージ保持期間 | 7 日 | 14 日 | |
ロングポーリング間隔 | 有効値:0~30。デフォルト値:15。単位:秒。 | 有効値:0~20。単位:秒。 | |
最大メッセージペイロード | 256 KB | ||
可視性タイムアウト期間 | 有効値:1~43200。デフォルト値:30。単位:秒。 | 有効値:1~43200。単位:秒。デフォルト値は定義されていません。 | |
キュー ID |
|
| |
メッセージ遅延 | DelaySeconds パラメーターはメッセージの遅延を指定します。有効値:0~604800。単位:秒。 | DelaySeconds パラメーターはメッセージの遅延を指定します。有効値:0~604800。単位:秒。 | |
最大累積メッセージ数 | 制限なし | 制限なし | |
最大 QPS (クエリ/秒) | ユーザーが使用するキューリソースに制限はありません。キューベースのメッセージングとトピックベースのメッセージングの QPS は、リージョンごとに各 Alibaba Cloud アカウントで最大 20,000 に制限されます。詳細については、「スロットリングポリシー」をご参照ください。 | 制限なし | |
トピックベースのメッセージングモデル | トピック名 | 各トピック名は 1~120 文字である必要があります。トピック名では大文字と小文字は区別されません。 | 各トピック名は 3~64 文字である必要があります。トピック名では大文字と小文字が区別されます。 |
最大メッセージ長 | 64 KB | 256 KB | |
リトライポリシー |
|
| |
単一トピックへの最大サブスクリプション数 | 12,500,000 | ||
最大 QPS | ユーザーが使用するキューリソースに制限はありません。キューベースのメッセージングとトピックベースのメッセージングの QPS は、リージョンごとに各 Alibaba Cloud アカウントで最大 20,000 に制限されます。詳細については、「スロットリングポリシー」をご参照ください。 | トピックあたり 300 QPS または 10 MB/s。システムは、トピックが最初のクエリを受信したときにカウントを開始します。 |
SDK の比較
SDK | Alibaba Cloud SMQ | Amazon SQS | Amazon SNS |
API 操作 | |||
HTTP SDK | Java SDK、Python SDK、C# SDK、PHP SDK、C++ SDK、Go SDK、JMS SDK | Java SDK、JavaScript SDK、PHP SDK、Python SDK、Ruby SDK、.NET SDK | Java SDK、JavaScript SDK、PHP SDK、Python SDK、Ruby SDK、.NET SDK |
移行プロセス
アプリケーションを SQS または SNS から SMQ にスムーズに移行するには、サービス間でキュー、トピック、およびサブスクライブされたメタデータを同期することを推奨します。次に、アプリケーション側でデュアルリードおよびデュアルライトポリシーを有効にして、データを移行する必要があります。次の図は、データが SQS から SMQ に移行されるプロセスを示しています。プロセス: