Learning AWS Day by Day - Day 53 - Differences between SQS, SNS and Amazon MQ
Exploring AWS !!
Day 53
Differences between SQS, SNS and Amazon MQ
SQS, SNS and Amazon MQ are all scalable and highly available messaging services.
SQS — decoupling of distributed software systems. Messages in queue are processed by a single subscriber. Fanout applications — created using SNS and SQS together.
SNS — pub-sub model that provides message delivery from producers to multiple subscribers. Asynchronous communication between publisher and subscriber by sending messages to a topic. Subscribers can subscribe to SNS topic and receive published messages using Data Firehose, SQS, Lambda, HTTP, email, text messages or push notifications. SNS acts as a messenger and delivers messages to subscribers timely. if the subscriber is not available, the message won’t be stored.
Amazon MQ — managed broker service which is compatible with industry standard messaging protocols like AMQP, MQTT. Supported engines — Apache ActiveMQ, RabbitMQ.
SNS and SQS both are recommended for using with new applications that can help in scalability and simple APIs. Amazon MQ would be recommended for migrating applications from existing message brokers relying on compatibility with APIs such as JMS.