StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Utilities
  3. Notifications
  4. Mobile Push Messaging
  5. Amazon MQ vs Amazon SNS

Amazon MQ vs Amazon SNS

OverviewDecisionsComparisonAlternatives

Overview

Amazon SNS
Amazon SNS
Stacks1.4K
Followers1.2K
Votes18
Amazon MQ
Amazon MQ
Stacks55
Followers325
Votes12

Amazon MQ vs Amazon SNS: What are the differences?

Introduction

In this Markdown code, we will discuss the key differences between Amazon MQ and Amazon SNS. Both are messaging services provided by Amazon Web Services (AWS), but they have distinct features and functionalities that set them apart.

  1. Message Types: Amazon MQ is a managed message broker service that supports multiple messaging protocols like AMQP, MQTT, STOMP, and OpenWire. It enables you to use both queue-based and topic-based message queues for point-to-point and publish-subscribe communication patterns. On the other hand, Amazon SNS is a fully-managed pub/sub messaging service that supports only simple messaging over various transport protocols like HTTP, HTTPS, email, SMS, and mobile push notifications. It facilitates the dissemination of messages to multiple recipients simultaneously.

  2. Message Persistence: Amazon MQ provides durable message storage, meaning it can store messages when the recipient or subscriber is not available to receive them. It ensures the durability of messages even in the event of a broker failure. In contrast, Amazon SNS doesn't store messages persistently. It follows the "fire and forget" model, where messages are not stored and are only delivered to active subscribers at the time of publishing.

  3. Message Ordering: Amazon MQ guarantees the ordering of messages within a single queue, maintaining the FIFO (First-In-First-Out) order. It ensures that the oldest message is consumed first before moving on to the next one. On the other hand, Amazon SNS doesn't guarantee message ordering. Messages published to SNS topics can be delivered to subscribers in any order, and they are not necessarily processed in the same sequence they were sent.

  4. Message Filtering: Amazon MQ supports message filtering at the broker level, allowing subscribers to receive only specific messages based on defined criteria. It provides flexible filtering options using message selectors and header attributes. In contrast, Amazon SNS doesn't offer built-in message filtering capabilities. Subscribers of an SNS topic receive all the messages published to the topic, without the ability to filter based on message content.

  5. Scaling: Amazon MQ enables automatic scaling of broker instances to handle increased message traffic. It automatically adjusts resources based on the workload to ensure optimal performance. On the other hand, Amazon SNS doesn't require scaling since it can handle high message volumes and traffic by design. It automatically provisions resources as needed to deliver messages.

  6. Message Processing: Amazon MQ supports advanced features like message redelivery, dead-letter queues, and message acknowledgement, ensuring reliable message processing and handling. It provides mechanisms to handle failed message deliveries and handle messages that couldn't be processed successfully. In contrast, Amazon SNS doesn't offer these advanced message processing features. It focuses more on the publish-subscribe pattern without extensive handling of message errors or retries.

In Summary, Amazon MQ is a managed message broker service that supports multiple protocols, offers message persistence, ordering, filtering, scaling, and advanced message processing. On the other hand, Amazon SNS is a fully-managed pub/sub messaging service that supports simple messaging over various transport protocols and provides high scalability for message delivery but lacks some of the advanced features of Amazon MQ.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Amazon SNS, Amazon MQ

MITHIRIDI
MITHIRIDI

Software Engineer at LightMetrics

May 8, 2020

Needs adviceonAmazon SQSAmazon SQSAmazon MQAmazon MQ

I want to schedule a message. Amazon SQS provides a delay of 15 minutes, but I want it in some hours.

Example: Let's say a Message1 is consumed by a consumer A but somehow it failed inside the consumer. I would want to put it in a queue and retry after 4hrs. Can I do this in Amazon MQ? I have seen in some Amazon MQ videos saying scheduling messages can be done. But, I'm not sure how.

303k views303k
Comments

Detailed Comparison

Amazon SNS
Amazon SNS
Amazon MQ
Amazon MQ

Amazon Simple Notification Service makes it simple and cost-effective to push to mobile devices such as iPhone, iPad, Android, Kindle Fire, and internet connected smart devices, as well as pushing to other distributed services. Besides pushing cloud notifications directly to mobile devices, SNS can also deliver notifications by SMS text message or email, to Simple Queue Service (SQS) queues, or to any HTTP endpoint.

Amazon MQ is a managed message broker service for Apache ActiveMQ that makes it easy to set up and operate message brokers in the cloud.

In most cases, developers can get started with Amazon SNS by using just three APIs: CreateTopic, Subscribe, and Publish. Additional APIs are available, which provide more advanced functionality.;With SNS you can publish a message once, and deliver it one or more times. So you can choose to direct unique messages to individual Apple, Google or Amazon devices, or broadcast deliveries to many mobile devices with a single publish request.;SNS allows you to group multiple recipients using topics. A topic is an “access point” for allowing recipients to dynamically subscribe for identical copies of the same notification. One topic can support deliveries to multiple endpoint types -- for example, you can group together iOS, Android and SMS recipients. When you publish once to a topic, SNS delivers appropriately formatted copies of your message to each subscriber.;Amazon SNS allows applications and end-users on different devices to receive notifications via Mobile Push notification (Apple, Google and Kindle Fire Devices), HTTP/HTTPS, Email/Email-JSON, SMS or Amazon Simple Queue Service (SQS) queues.;Amazon SNS provides access control mechanisms to ensure that topics and messages are secured against unauthorized access
-
Statistics
Stacks
1.4K
Stacks
55
Followers
1.2K
Followers
325
Votes
18
Votes
12
Pros & Cons
Pros
  • 12
    Low cost
  • 6
    Supports multi subscribers
Pros
  • 7
    Supports low IQ developers
  • 3
    Supports existing protocols (JMS, NMS, AMQP, STOMP, …)
  • 2
    Easy to migrate existing messaging service
Cons
  • 4
    Slow AF
Integrations
No integrations available
AWS IAM
AWS IAM
Amazon CloudWatch
Amazon CloudWatch
ActiveMQ
ActiveMQ

What are some alternatives to Amazon SNS, Amazon MQ?

Kafka

Kafka

Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.

RabbitMQ

RabbitMQ

RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.

Celery

Celery

Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.

Amazon SQS

Amazon SQS

Transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available. With SQS, you can offload the administrative burden of operating and scaling a highly available messaging cluster, while paying a low price for only what you use.

NSQ

NSQ

NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day. It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee. See features & guarantees.

OneSignal

OneSignal

OneSignal is a high volume push notification service for websites and mobile applications. OneSignal supports all major native and mobile platforms by providing dedicated SDKs for each platform, a RESTful server API, and a dashboard.

ActiveMQ

ActiveMQ

Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License.

ZeroMQ

ZeroMQ

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

Apache NiFi

Apache NiFi

An easy to use, powerful, and reliable system to process and distribute data. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic.

Gearman

Gearman

Gearman allows you to do work in parallel, to load balance processing, and to call functions between languages. It can be used in a variety of applications, from high-availability web sites to the transport of database replication events.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase