IronMQ
An easy-to-use highly available message queuing service. Built for distributed
cloud applications with critical messaging needs. Provides on-demand message
queuing with HTTPS transport, one-time FIFO delivery, message persistence,
and cloud-optimized performance.
Code Samples Easy to use. Support for every language under the sun.
- Push a Message
- Get a Message
- Delete a Message
- cURL
- Ruby
- Python
- PHP
- Java
- Clojure
- .NET
- Go
- API
- cURL
- Ruby
- Python
- PHP
- Java
- Clojure
- .NET
- Go
- API
- cURL
- Ruby
- Python
- PHP
- Java
- Clojure
- .NET
- Go
- API
# Put a message on the queue
curl -H "Authorization: OAuth TOKEN" -H "Content-Type: application/json" \
-d '{"messages":[{"body":"hello world!"}]}' \
"http://mq-aws-us-east-1.iron.io/1/projects/PROJECT_ID/queues/my_queue/messages"
# Establish a client and put a message on the queue
@ironmq = IronMQ::Client.new()
@queue = @ironmq.queue("test_queue")
@queue.post("hello world!")
# Establish a client and put a message on the queue
ironmq = IronMQ()
queue = ironmq.queue("test_queue")
queue.post("hello world!")
// Establish a client and put a message on the queue
$ironmq = new IronMQ();
$ironmq->postMessage("test_queue", "Hello world!");
// Establish a client and put a message on the queue
Client client = new Client("{PROJECT_ID}", "{TOKEN}", Cloud.IronAWSUSEast);
Queue queue = client.queue("test_queue");
queue.push("Hello world!");
; Establish a client and put a message on the queue
(def client (mq/create-client "{TOKEN}" "{PROJECT_ID}"))
(mq/post-message client "test_queue" "Hello world!")
// Establish a client and put a message on the queue
Client client = new Client("{PROJECT_ID}", "{TOKEN}");
Queue queue = client.queue("test_queue");
queue.Push("Hello world!");
// Establish a client and put a message on the queue
client := ironmq.NewClient("{PROJECT_ID}", "{TOKEN}", ironmq.IronAWSUSEast)
queue := client.Queue("test_queue")
id, err := queue.Push("Hello world!")
POST /projects/:project_id/queues/:queue_name/messages
{
"messages": [
{ "body": "This is my message" }
]
}
# Get a message curl -H "Authorization: OAuth TOKEN" -H "Content-Type: application/json" \ "https://mq-aws-us-east-1.iron.io/1/projects/PROJECT_ID/queues/my_queue/messages"
# Get a message
msg = @queue.get()
# Get a message
msg = queue.get()
// Get a message
$ironmq->getMessage("test_queue");
// Get a message
Message msg = queue.get();
; Get a message
(let [msg (mq/get-message client "test_queue")])
// Get a message Message msg = queue.get();
// Get a message
msg, err := queue.Get()
GET /projects/:project_id/queues/:queue_name/messages
# Delete a message curl -H "Authorization: OAuth TOKEN" -H "Content-Type: application/json" -X DELETE \ "https://mq-aws-us-east-1.iron.io/1/projects/PROJECT_ID/queues/my_queue/messages/MESSAGE_ID"
# Delete a message
msg.delete
# Delete a message
queue.delete(response["messages"][0]["id"])
// Delete a message
$ironmq->deleteMessage($msg->id);
// Delete a message
queue.deleteMessage(msg);
; Delete a message (after getting it first)
(let [msg (mq/get-message client "test_queue")]
(mq/delete-message client "test_queue" msg))
// Delete a message queue.deleteMessage(msg);
// Delete a message
err := msg.Delete()
DELETE /projects/:project_id/queues/:queue_name/messages/:message_id
Features
-
Ready to UseJust connect to IronMQ endpoints and you’re ready to create queues and send and receive messages. Perfect for doing way more things asynchronously.
-
High AvailabilityRuns on top cloud infrastructures and uses multiple high-availability data centers. Uses reliable datastores for message durability and persistence.
-
Interoperable / No Lock-inBuilt with MQ standards in mind, which means no lock-in and maximum flexibility. Change endpoints from a local MQ and move to an MQ in the cloud.
-
Scalable / High PerformanceWritten with elasticity and scale at its core. Built using high-performance languages designed for concurrency and runs on industrial-strength clouds.
-
Secure Gateways / OAuth2Uses HTTPS and SSL to provide secure gateways for managing queues and handling messages. OAuth2 provides flexibility, scalability, and security.
-
Multiple Language BindingsMake use of a large set of IronMQ language libraries including Ruby, PHP, Python, Java, Go, and more. Or choose from a long list of Beanstalkd interfaces.
-
One-Time FIFO DeliveryUnlike other cloud-based MQs, IronMQ makes sure messages get delivered once and only once in the order queued – essential for critical messaging needs.
-
Realtime MonitoringProvides a rich dashboard as well as API calls and notifications so you can monitor and keep a close eye on the operation of your messaging layer.
-
AffordableBilled by message requests. Affordable plans. Messaging is key within distributed cloud apps but it doesn't need to be expensive.
Comparison Matrix How IronMQ compares with other MQ systems.
| IronMQ | Amazon SQS | Beanstalkd | RabbitMQ | Redis | |
|---|---|---|---|---|---|
| High Performance Message Queue | YES | YES | YES | YES | NO |
| MQ as a Service(no maintenance) | YES | YES | NO | NO | NO |
| High Availability | YES | YES | NO | NO | NO |
| Unlimited Queues | YES | YES | NO | NO | NO |
| Elastic(limitless messaging) | YES | YES | NO | NO | NO |
| Persistent(never lose messages) | YES | YES | NO | NO | NO |
| Redundant/Failover | YES | YES | NO | NO | NO |
| Backed Up | YES | YES | NO | NO | NO |
| Shareable | YES | NO | NO | NO | NO |
| First-In First-Out | YES | NO | YES | YES | YES |
| One-Time Delivery | YES | NO | YES | YES | YES |
| Publish/Subscribe | YES | NO | NO | YES | YES |
| Push Queues | YES | NO | NO | NO | NO |
| Webhook Support | YES | NO | NO | NO | NO |
| Multi-Cloud | YES | NO | NO | NO | NO |
| Dashboard | YES | NO | NO | YES | NO |
| Reporting & Analytics | YES | NO | NO | NO | NO |
| Email Reports | YES | NO | NO | NO | NO |
| Message Transports | HTTPS & Beanstalk |
HTTPS | Beanstalk | Socket-based AMQP |
Socket-based |
| Authentication | OAuth2 | AWS IAM | None | SASL | Password |
Screenshots Our HUD/Dashboard helps you manage your queues and messages.
Resources
- IronMQ API Docs
- IronMQ Client Libs
- IronMQ Examples Coming Soon!
- Community
Get 10 million requests free every month – No credit card needed