Message queuing service
A message queueing service is a message-oriented middleware or MOM deployed in a compute cloud using software as a service model. Service subscribers access queues and or topics to exchange data using point-to-point or publish and subscribe patterns.
Goals
A message queueing service aims to eliminate the traditional overhead associated with operating in-house messaging infrastructures. These operating overheads include:
- Unused capacity installed to meet peak demands
- Human resources that are necessary to maintain messaging infrastructure
- Projects idle time waiting for resource provisioning
- Need to isolate messaging resources
Besides reducing cost, a message queueing service seeks to simplify access to messaging resources and therefore facilitate integration efforts within organizations and between them.
Benefits
A message queueing service also creates new value by providing reduced costs, enhanced performance and reliability. In order to provide those benefits, a message queueing service leverages cloud computing resources such as storage, network, memory and processing capacity. By using virtually unlimited cloud computing resources, a message queueing service provides an internet scale messaging platform.
Accessibility
A message queueing service is accessible through a variety of protocols such as Java Message Service, AMQP, REST-style APIs and web services.
Usage Examples
- Patient gets admitted into a hospital out of her provider's network. Producer hospital can start sending real time events about the treatment of the patient to her physician's hospital using a message queueing service platform. The cost of integration between hospitals is marginal since they do not need to configure messaging protocols, VPNs and other details.
- Information processing organization that processes events from thousands of different sources, can ask its information providers to simply place messages onto queue services and reduce integration costs.
- A Call Centre can carry on servicing requests for bills to be present when the billing system is unavailable
- Embedded telemetry devices in vehicles can securely communicate with an application that number crunches statistics in near-real time; Round-Robin messaging lets the vehicle supplier add computing resources as his sales increase.
- Security trading application can post updates to P&L application that might be unavailable at the moment.
- Technician submits an x-ray while consuming application instances in London, Chicago and São Paulo compete who gets the message first by listening on the same queue.
Vendors
- Amazon Simple Queue Service - supports messages natively up to 256K, or up to 2GB by transmitting payload via S3. Highly scalable, durable and resilient. Provides loose-FIFO and 'at least once' delivery in order to provide massive scale. Supports REST API and optional Java Message Service client. Low latency. Utilizes Amazon Web Services.
- IronMQ - supports messages up to 64k; guarantees order; guarantees once only delivery; no delays retrieving messages. Supports REST API and beanstalkd open source protocol. Runs on multiple clouds including AWS and Rackspace. Scaling must be managed by user.
- StormMQ - Open platform supports messages up to 50Mb. Uses AMQP to avoid vendor lock-in and provide language neutrality. Locate-It Option allows customers to audit the location of their data at all times and satisfy data protection principles.
References
- "Amazon Simple Queue Service (API Version 2012-11-05)". 2012-11-05.
- "IronMQ". 2011-12-07.
- "StormMQ". 2010-05-03.