Do AWS messaging services support STOMP? - amazon-web-services

Do AWS SNS and SQS support STOMP protocol?
I have tried googling it. I went through several forums but I am not sure yet.

No. Amazon SNS and Amazon SQS have their own API.
STOMP would need to support those services (rather than vice versa), but it appears that STOMP does not support SNS nor SQS.

Actually, AWS have another message queue service for Apache ActiveMQ that does support JMS, NMS, AMQP, STOMP, MQTT, WebSocket and called Amazon MQ

Related

AWS SQS and SNS with .NET core

I want to implement a publish/subscribe system inside my Micro service application on top of .NET CORE, and since I've everything built on top of AWS, I started to check SQS.
But from what I understood, SQS is only a queue that doesn't offer me that possibility, so yes I can send and read messages to the queue, but I can't have my clients consuming in real time based on topic and sending messages to every client that is subscribing to that topic, right? That's why they have SNS.
From what I understand in order to use SNS, we will always need to have SQS too, but what I'm not finding is how can I integrate SNS on .NET Core? Is there a good tutorial? Because for SQS there's plenty, but for SNS I'm not finding much.
"I'm not finding is how can I integrate SNS on .NET"
There is a brand new AWS tutorial (only a few days old) that shows how to use the AWS.NET API to create an MVC .NET app that uses the .NET SNS API to write a pub/sub app. This example uses .NET async calls as well.
https://github.com/scmacdon/AWSTracker/tree/master/SNSSampleApp
You're right that you should be looking at a combination of SQS and SNS.
SQS lacks pub/sub and SNS lacks competing consumers.
NServiceBus provides all of the middleware needed to work with both of these underlying services correctly and safely, and in .net core. Here's a simple sample: https://docs.particular.net/samples/sqs/simple/
For more information on how it works, check out the docs:
https://docs.particular.net/transports/sqs/

What is the difference between Amazon MQ and SQS?

I am a newbie to AWS. As I understand, both AWS MQ and AWS SQS are Message Queue tools. The only noted difference is that SQS is fully managed.
When should we use SQS or MQ?
SQS is a simple queueing service. It doesn't support many higher level abstractions like message routing, fanouts, distribution lists etc. It is a queue - a message is produced, and a message is delivered. It is useful when you need a Queue with limited backing logic.
AWS MQ is a managed Apache ActiveMQ(or RabbitMQ) broker service.
This provides you a fully managed Apache ActiveMQ system in the cloud, with support for a variety of industry-standard queue and broadcast protocols like AMQP, JMS etc. It is useful when you have complicated delivery rules - or when you're migrating an existing system from outside AWS into AWS, and your systems happen to talk to one another with a standard queueing protocol.
From AWS Documentation, you can search "Q: When should I use Amazon MQ vs. Amazon SQS and SNS?":
Amazon MQ, Amazon SQS, and Amazon SNS are messaging services that are
suitable for anyone from startups to enterprises. If you're using
messaging with existing applications, and want to move your messaging
to the cloud quickly and easily, we recommend you consider Amazon MQ.
It supports industry-standard APIs and protocols so you can switch
from any standards-based message broker to Amazon MQ without rewriting
the messaging code in your applications. If you are building brand new
applications in the cloud, we recommend you consider Amazon SQS and
Amazon SNS. Amazon SQS and SNS are lightweight, fully managed message
queue and topic services that scale almost infinitely and provide
simple, easy-to-use APIs. You can use Amazon SQS and SNS to decouple
and scale microservices, distributed systems, and serverless
applications, and improve reliability.
Also, in this doc, you can check comparisons with other services.

AWS IOT: Does the platform act as an MQTT broker?

I just need to be sure whether I would need to use a separate library/provider such as Mosquitto and HiveMQ and integrate them with AWS IOT or would the amazon platform act as a self sufficient endtoend solution.
TIA
The AWS IoT service includes an MQTT message broker.
I am not into AWS IoT that deep, but:
When using a MQTT Broker, make sure that
* each device gets individual credentials
* device cannot subscribe to topics of other devices (unless that is explicitly what you want).
BR,

Nservicebus ServiceControl SQS support

I see that Nservicebus's ServiceControl supports Azure queues, Msmq, Rabbitmq and Sql server. Is there any support for AWS SQS queues? Is there any plugin available?
Cheers,
Marko
NServiceBus supports AWS SQS.
Check out this example
No ServiceControl does not currently support the SQS Transport. This ServiceControl proposal would make it easier to support SQS in the future https://github.com/Particular/ServiceControl/issues/871, if you would like to comment. Or alternatively you could raise a feature request here https://github.com/Particular/ServiceControl/issues/

Looking for PubSub messaging for end-clients on AWS

Does AWS offer a service for real-time publish&subscribe messaging for end clients? (web, mobile, desktop).
I'm looking for something that is topic based, optionally with a statfull model of data, where clients can subscribe to topics, receive data published on these topics at real time, etc.
(similar to what Google Firebase offers).
Thanks.
Yes. Amazon Simple Notification Service (SNS) provides:
Topic creation
Publishing of messages to the topic
Subscription to a topic via:
Email
HTTP/S endpoint (effectively, a REST call)
SMS
Sending to an Amazon SQS queue
Triggering an AWS Lambda function
Sending mobile notifications (iOS, Android, Baidu, Windows mobile, Windows desktop, Mac desktop)