Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there an in-memory SQS?

I'm looking for something that mimics the REST API of SQS and is usable for robust/non-flaky, small, logic/unit tests.

like image 626
Noel Yap Avatar asked Dec 11 '12 19:12

Noel Yap


People also ask

What is inflight messages in SQS?

Inflight messages include those received from a queue by a consumer, but not yet deleted from the queue. If you reach the 20,000 quota, Amazon SQS doesnt return error messages. A FIFO queue looks through the first 20,000 messages to determine available message groups.

How long can a message be retained in an SQS?

You can configure the Amazon SQS message retention period to a value from 1 minute to 14 days. The default is 4 days. Once the message retention quota is reached, your messages are automatically deleted. Q: How do I configure Amazon SQS to support longer message retention?

What are the types of queues in SQS?

There are two types of Amazon SQS queues: first-in, first-out (FIFO) and standard queues. In FIFO queues, message strings remain in the same order in which the original messages were sent and received. FIFO queues support up to 300 send, receive or delete messages per second.

Is FIFO a SQS?

The first-in-first-out (FIFO) queue is the type of AWS SQS queue that guarantees order and provides exactly once delivery of messages.


2 Answers

You can also try ElasticMQ, https://github.com/adamw/elasticmq, which implements the SQS interface and has both in-memory and db-backed storages.

like image 79
adamw Avatar answered Nov 16 '22 03:11

adamw


JMS and MSMQ both provide similar queueing infrastructure. Depending on your platform, you could use either of those technologies. Both are robust. MSMQ can provide an in-memory (non-transactional) queue in addition to a disk-backed, transactional queue.

RabbitMQ is another popular choice that should provide a superset of the SQS functionality. I don't have direct experience with it, however.

It should be fairly straightforward to create a wrapper that mimics the SQS interface.

UPDATE

ActiveMQ provides a REST API. However, the API is different than that of SQS.

You can either use that and wrap the API differences, or you can create a REST API of your own that exactly mirrors the SQS API and wraps any MQ system you wish.

http://activemq.apache.org/restful-queue.html

like image 37
Eric J. Avatar answered Nov 16 '22 01:11

Eric J.