Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

is latency and throughput in AWS SNS good enough to replace dedicated MQ for pub/sub?

Tags:

For a sake of HA I'm considering switching from self hosted solution (ZeroMQ) to AWS Simple Notification Service for pub/sub in an application. Which is a backend for an app, thus should be reasonably real-time.

What are latency and throughput I can expect of SNS?

like image 901
vartec Avatar asked Feb 08 '13 13:02

vartec


People also ask

What is the throughput of SNS?

High throughput: FIFO topics support up to 300 messages per second or 10 MB per second per FIFO topic (whichever comes first).

Is AWS SNS pub sub?

On AWS, Amazon Simple Notification Service (SNS) is a fully managed pub/sub messaging service that enables message delivery to a large number of subscribers. Each subscriber can also set a filter policy to receive only the messages that it cares about.

What is pub/sub equivalent in AWS?

SNS is AWS's "go-to" solution for Pub-Sub. It exists since 2010, can be triggered by 30 different AWS services (and of course, your custom triggers), and it can trigger not only Lambda functions but also emails, web addresses, SQS queues, SMS messages, and mobile push notifications.

Which AWS service is the best choice for publishing messages to subscribers?

Q: What is Amazon Simple Notification Service (Amazon SNS)? It provides developers with a highly scalable, flexible, and cost-effective capability to publish messages from an application and immediately deliver them to subscribers or other applications.


1 Answers

Is the app going to be hosted on EC2? If so, the latency will be far diminished, as the communication channel will be going across Amazon's connection, rather than through the internet.

If you are going to call AWS services from boxes not hosted on EC2, here's a cool site that attempts to give you an idea of the amount of latency between you and various AWS services and locations.

enter image description here

How are you measuring the HTTP Ping Request Latency?

We are making a HTTP GET request to AWS Service Endpoints (like EC2, SQS, SNS etc) for PING and measuring the observed latency for it across all regions.

As for thoughput, that is left up to you. You can use various strategies to increase throughput, like multi-treading, batching messages, etc.

Keep in mind that you will have to code for some side effects, like possibly seeing the same message twice (At Least Once Delivery), and not being able to rely on FIFO.

like image 106
GalacticJello Avatar answered Oct 02 '22 14:10

GalacticJello