1
votes

We have our Active-MQ on-premise and I'm exploring options in AWS for managed messaging service. All of our applications use ActiveMQ's Virtual Topic feature. It appears that in AWS, Fanout can be achieved using SNS->SQS. But unfortunately, SNS support SQS standard Queues and FIFO queues are not supported yet. What is the best way to achieve Fanout cases when message ordering is also important?

We could use Kinesis and AWS ActiveMQ as well. But with Kinesis I couldn't imagine how the VirtualTopic feature can be achieved in Kinesis. How shards are work in multiple Topics.

So, what is the best way to achieve ActiveMQ Virtual Topic functionality in the AWS world using SQS-SNS?

2
Have you managed this problem?michalk93
Still, SNS is not compatible with FIFO queues. For our use-case, we implemented the ordering on the consumer side. Message producer would add attribute something like sequence number, the consumer will read that attribute and make a decision on whether to process or not. This is not an ideal fix, but with SNS-SQS fanout, the options are limited at least for now. If producer is not controllable then some other way is a go.Haran

2 Answers

0
votes

you can use 'Amazon MQ' since it is mentioned in FAQ that 'Amazon MQ is suitable for enterprise IT pros, developers, and architects who are managing a message broker themselves–whether on-premises or in the cloud–and want to move to a fully managed cloud service without rewriting the messaging code in their applications.'

Ref: https://aws.amazon.com/amazon-mq/faqs/