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.
- AnypointMQ
- An enterprise multi-tenant, cloud messaging service that performs advanced asynchronous messaging scenarios between applications. Anypoint MQ is fully integrated with Anypoint Platform, offering role based access control, client application management, and connectors.
See also
References
- "Amazon Simple Queue Service (API Version 2012-11-05)". 2012-11-05.
- "IronMQ". 2011-12-07.
- "StormMQ". 2010-05-03.
- "AnypointMQ". 2016-08-30.