All Products
Search
Document Center

Simple Message Queue (formerly MNS):Migrate data from AWS SQS/SNS to Simple Message Queue (SMQ)

Last Updated:May 27, 2026

Simple Message Queue (SMQ, formerly MNS) supports migration from AWS Simple Queue Service (SQS) and AWS Simple Notification Service (SNS). Compare features, limits, and SDKs between the services, then follow a four-stage dual-read/dual-write process to migrate your workloads.

Background information

SMQ, Amazon SQS, and Amazon SNS share similar messaging capabilities:

  • SMQ provides both the queue-based messaging model and the topic-based messaging model.

  • Amazon SQS provides the queue-based messaging model.

  • Amazon SNS provides the topic-based messaging model.

Because the services overlap in functionality, migration from Amazon SQS or Amazon SNS to SMQ is straightforward.

Prerequisites

Before you begin, complete the following:

  • An Alibaba Cloud account with SMQ activated. Activate SMQ and authorize RAM users to access SMQ.

  • An inventory of your Amazon SQS queues and Amazon SNS topics, including configurations such as retention periods, visibility timeouts, delay settings, subscriptions, and retry policies.

  • Access credentials for both your AWS and Alibaba Cloud environments.

  • A clear understanding of your message producers and consumers for planning the dual-read/dual-write cutover.

Concept mapping

The following table maps key concepts between Amazon SQS/Amazon SNS and SMQ. Note the behavioral differences in the third column.

AWS concept SMQ equivalent Behavioral differences
SQS Standard Queue SMQ Queue (queue-based messaging model) Both support Active, Inactive, Deleted, and Expired message states. SMQ defaults to a 30-second visibility timeout; Amazon SQS has no default.
SQS FIFO Queue SMQ FIFO Queue (sequencing) Both supported.
SQS Dead-letter Queue SMQ Dead-letter Queue Both supported.
SNS Topic SMQ Topic (topic-based messaging model) SMQ topic names are not case-sensitive (1-120 characters). Amazon SNS topic names are case-sensitive (3-64 characters).
SNS FIFO Topic SMQ FIFO Topic (sequencing) Both supported.
SNS Subscription (JSON filter policy) SMQ Subscription (tag-based filtering) Data filtering differs: SMQ uses tag-based filtering; Amazon SNS uses JSON policy-based filtering. Convert your filter logic during migration.
SNS Subscription endpoints (Queue, HTTP, SMS, Email, Mobile push, Lambda) SMQ Subscription endpoints (Queue, HTTP, Text message, Email, Mobile push, Function Compute) Amazon SNS integrates with AWS Lambda; SMQ integrates with Function Compute.
SNS Dead-letter Queue SMQ Dead-letter Queue (topic model) Both supported.

Feature comparison

The following tables compare SMQ, Amazon SQS, and Amazon SNS features by messaging model.

Queue-based messaging model

Feature SMQ Amazon SQS
Message lifecycle Supported (states: Active, Inactive, Deleted, Expired) Supported (states: Active, Inactive, Deleted, Expired)
Custom retention period for messages Supported Supported
Message delay (scheduled period) Supported Supported
Visibility timeout period Supported Supported
Maximum message length Supported Supported
Dead-letter queue Supported Supported
FIFO queue (sequencing) Supported Supported

Topic-based messaging model

Feature SMQ Amazon SNS
Data filtering Data filtering by tag Data filtering by JSON policy
Queue subscription Supported Supported
HTTP subscription Supported Supported
Text message subscription Supported Supported
Email subscription Supported Supported
Mobile push Supported Supported
Function Compute Supported Supported
Dead-letter queue Supported Supported
FIFO topic (sequencing) Supported Supported

Limit comparison

Some limit differences may affect your migration plan. The following tables compare SMQ, Amazon SQS, and Amazon SNS limits by messaging model.

Queue-based messaging model limits

Limit SMQ Amazon SQS
Queue naming Case-sensitive, 1-120 characters. Case-sensitive, 1-80 characters.
Message retention period 7 days 14 days
Long polling interval Valid values: 0 to 30. Default value: 15. Unit: seconds. Valid values: 0 to 20. Unit: seconds.
Maximum message payload 64 KB. To increase this limit, submit a ticket. 256 KB
Visibility timeout period Valid values: 1 to 43200. Default value: 30. Unit: seconds. Valid values: 1 to 43200. Unit: seconds. No default value is defined.
Queue ID Queue names are unique per region. Message IDs are globally unique. Receipt handles are custom strings. Queue names are unique per region. Message IDs are globally unique. Receipt handles are custom strings.
Message delay DelaySeconds: 0-604800 seconds. DelaySeconds: 0-604800 seconds.
Maximum number of accumulated messages No limit No limit
Maximum queries per second (QPS) No per-queue limit. Total QPS (queue + topic) capped at 20,000 per account per region. Throttling policy. No limit

Topic-based messaging model limits

Limit SMQ Amazon SNS
Topic name Case-insensitive, 1-120 characters. Case-sensitive, 3-64 characters.
Maximum message length 64 KB 256 KB
Retry policy Backoff: 3 retries at 10-20 second intervals. Exponential decay: 176 retries per day. Backoff: 3 retries at 20-second intervals. Exponential decay: Configurable retry count.
Maximum number of subscriptions to a single topic 100. To increase this limit, submit a ticket. 12500000
Maximum QPS No per-topic limit. Total QPS (queue + topic) capped at 20,000 per account per region. Throttling policy. 300 QPS per topic or 10 MB/s. Counting starts when a topic receives its first request.

Key limit differences and workarounds

Pay attention to these key limit differences:

  • Maximum message payload (64 KB vs. 256 KB): SMQ defaults to 64 KB, compared to 256 KB for Amazon SQS and Amazon SNS. To request a higher limit, submit a ticket. Alternatively, store large message bodies in OSS and pass the object reference in the message. Transmit oversized messages.

  • Maximum subscriptions per topic (100 vs. 12,500,000): SMQ allows 100 subscriptions per topic by default, compared to 12,500,000 for Amazon SNS. To increase this limit, submit a ticket.

  • Message retention period (7 days vs. 14 days): SMQ retains messages for up to 7 days, compared to 14 days for Amazon SQS. Ensure your consumers process messages within the 7-day window.

  • Data filtering: SMQ uses tag-based filtering for topic subscriptions; Amazon SNS uses JSON policy-based filtering. Redesign your filter logic during migration.

SDK comparison

The following table compares available SDKs.

SDK Alibaba Cloud SMQ Amazon SQS Amazon SNS
API operations API reference API reference API reference
HTTP SDK SDK for Java, SDK for Python, SDK for C#, SDK for PHP, SDK for C++, SDK for Go, and SDK for JMS SDK for Java, SDK for JavaScript, SDK for PHP, SDK for Python, SDK for Ruby, and SDK for .NET SDK for Java, SDK for JavaScript, SDK for PHP, SDK for Python, SDK for Ruby, and SDK for .NET

Migration process

Synchronize queues, topics, and subscription metadata between AWS and SMQ, then use dual-read and dual-write policies to migrate data.

The migration consists of four stages, each with a goal, required actions, and exit criteria.

Stage 1: Baseline and resource preparation

image

Goal: Prepare equivalent SMQ resources.

Actions:

  1. Inventory all Amazon SQS queues and Amazon SNS topics. Record their configurations: retention periods, visibility timeouts, delay settings, and subscriptions.

  2. Create corresponding queues and topics in SMQ with equivalent configurations. Account for limit differences: message payload size, subscription limits, and retention periods.

  3. Synchronize subscription metadata. Convert Amazon SNS JSON filter policies to SMQ tag-based filters where applicable.

  4. Set up monitoring for both AWS and SMQ to compare message flow during migration.

Exit criteria: SMQ queues and topics are created and configured. Monitoring is in place for both environments.

Stage 2: Enable dual-read on consumers

image

Goal: Enable dual-read so that consumers process messages from both services.

Actions:

  1. Update consumer applications to read from both Amazon SQS and SMQ queues (dual-read), ensuring they handle SMQ messages before producers switch over.

  2. Validate that SMQ messages are consumed correctly. Verify message format compatibility, acknowledgment behavior, and error handling.

  3. Monitor consumer lag and error rates on both sides to confirm that SMQ consumption is stable.

Exit criteria: Consumers successfully process messages from SMQ with no errors for a sustained period.

Stage 3: Switch producers to SMQ

image

Goal: Switch producers to write to SMQ while maintaining dual-read on the consumer side.

Actions:

  1. Update producer applications to publish messages to SMQ instead of, or in addition to, Amazon SQS.

  2. If running dual-write, monitor both message flows to confirm messages arrive correctly in SMQ.

  3. Once producers are fully switched to SMQ, you can stop dual-write. Consumers should continue dual-read to drain any remaining messages from Amazon SQS.

Exit criteria: All producers are successfully publishing to SMQ. Message delivery is confirmed through monitoring.

Stage 4: Decommission AWS resources

image

Goal: Decommission Amazon SQS/Amazon SNS resources.

Actions:

  1. Wait for all remaining messages in Amazon SQS queues to drain. Monitor queue depth until it reaches zero.

  2. Remove dual-read logic from consumer applications so they only read from SMQ.

  3. Decommission the Amazon SQS queues and Amazon SNS topics in AWS.

  4. Update your documentation and runbooks to reflect the new SMQ-based architecture.

Exit criteria: All Amazon SQS/Amazon SNS resources are decommissioned. All producers and consumers operate exclusively through SMQ.

Testing and validation

Perform these tests before and during migration:

  • Functional testing: Send test messages through SMQ. Verify that consumers receive them correctly and that message attributes, delays, and visibility timeouts work as expected.

  • Filter validation: Verify that SMQ tag-based filters produce the same results as your Amazon SNS JSON policy filters.

  • Performance testing: Compare message throughput and latency between your AWS setup and SMQ. The SMQ QPS limit is 20,000 per account per region. Throttling policy.

  • Dead-letter queue testing: Send malformed or unprocessable messages to verify that SMQ dead-letter queues capture them correctly.

  • Retry behavior testing: Verify that the retry policy (backoff and exponential decay) meets your requirements. Note the differences in retry intervals and counts between SMQ and Amazon SNS.

  • Monitoring and alerting: Confirm that your monitoring tools capture SMQ metrics (message count, consumer lag, error rates) and alerts fire as expected.

  • Rollback readiness: Keep Amazon SQS/Amazon SNS resources active during Stages 2 and 3. If issues arise with SMQ, revert producers to Amazon SQS and consumers to dual-read mode until resolved.