An in-memory message queue system with an Amazon SQS-compatible interface, designed for testing and local development.
ElasticMQ is an in-memory message queue system that provides an Amazon SQS-compatible REST interface. It allows developers to simulate SQS behavior locally or in testing environments without relying on AWS infrastructure. The system supports both stand-alone and embedded deployment, making it versatile for development, integration testing, and hybrid cloud scenarios.
Developers and teams building applications that use Amazon SQS, particularly those needing a local or test environment for message queue operations. It's also valuable for integration testing and CI/CD pipelines where external dependencies should be minimized.
ElasticMQ offers a faithful, open-source alternative to Amazon SQS with zero external dependencies, enabling faster development cycles and reliable testing. Its embeddable nature and SQS compatibility reduce the complexity of switching between local and cloud environments.
In-memory message queue with an Amazon SQS-compatible interface. Runs stand-alone or embedded.
Implements a subset of the Amazon SQS REST interface, allowing existing SQS clients to work seamlessly without code changes, as demonstrated in the AWS SDK integration examples for Java and Python.
Supports stand-alone, embedded, and Dockerized modes, including a Docker Compose setup with a Web UI, making it easy to integrate into local development and CI/CD pipelines.
Built on Pekko for fully non-blocking, actor-based architecture, delivering high throughput (over 25,000 messages per second in-memory in performance tests) suitable for testing scenarios.
Offers configurable persistence to SQL databases (H2) or HOCON files, enabling data survival across restarts for more robust integration testing beyond pure in-memory use.
Only supports a subset of SQS features, as admitted in the README, meaning advanced operations like message attributes filtering or quota management might be missing, requiring workarounds.
By default, queues and messages are stored in-memory, leading to data loss on server restart unless persistence is explicitly configured, which adds setup complexity.
Relies on Typesafe Config and HOCON files for advanced features like auto-creation and persistence, which can be unintuitive for users unfamiliar with these tools and error-prone in custom setups.
ElasticMQ (.8k) is an open-source alternative to the following products:
Apache Kafka - A distributed event streaming platform
A realtime distributed messaging platform
Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.
High-Performance server for NATS.io, the cloud and edge native messaging system.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.