stringtranslate.com

Servicio de cola de mensajes

Un servicio de cola de mensajes es un middleware orientado a mensajes o MOM implementado en una nube informática que utiliza un modelo de software como servicio . Los suscriptores del servicio acceden a colas o temas para intercambiar datos utilizando patrones punto a punto o de publicación y suscripción .

Es importante diferenciar entre servicios basados ​​en eventos y servicios basados ​​en mensajes (también conocidos como servicios basados ​​en colas): los servicios basados ​​en eventos (por ejemplo, AWS SNS ) están desacoplados de sus consumidores, mientras que los servicios basados ​​en colas o mensajes (por ejemplo, AWS SQS ) están acoplados a sus consumidores. [1]

Las colas de mensajes pueden ser un buen amortiguador para manejar cargas de trabajo irregulares, pero tienen una capacidad limitada. Según Gregor Hohpe, las colas de mensajes requieren mecanismos adecuados (también conocidos como controles de flujo) para evitar llenar la cola más allá de su capacidad manejable y mantener el sistema estable. [2]

Objetivos

Un servicio de cola de mensajes tiene como objetivo eliminar los gastos generales tradicionales asociados con el funcionamiento de infraestructuras de mensajería internas. Estos gastos generales operativos incluyen:

Además de reducir costos, un servicio de cola de mensajes busca simplificar el acceso a los recursos de mensajería y, por lo tanto, facilitar los esfuerzos de integración dentro de las organizaciones y entre ellas.

Beneficios

Un servicio de colas de mensajes también crea un nuevo valor al ofrecer costos reducidos, rendimiento mejorado y confiabilidad. Para brindar esos beneficios, un servicio de colas de mensajes aprovecha los recursos de computación en la nube , como almacenamiento, red, memoria y capacidad de procesamiento. Al utilizar recursos de computación en la nube prácticamente ilimitados, un servicio de colas de mensajes proporciona una plataforma de mensajería a escala de Internet.

Accesibilidad

Se puede acceder a un servicio de cola de mensajes a través de una variedad de protocolos, como Java Message Service , AMQP , API de estilo REST y servicios web .

Ejemplos de uso

Vendedores

IBM MQ

[3] IBM MQ ofrece un servicio administrado que se puede utilizar en IBM Cloud y Amazon Web Services.

Bus de servicio de Microsoft Azure
[4] Service Bus ofrece colas, temas y suscripciones, y reglas/acciones para respaldar escenarios de publicación-suscripción, desacoplamiento temporal y equilibrio de carga. Azure Service Bus está basado en AMQP, lo que permite que cualquier pila de clientes AMQP 1.0 existente interactúe con Service Bus directamente o a través de clientes .Net, Java, Node y Python existentes. Los niveles Estándar y Premium permiten el pago por uso o recursos aislados a gran escala.
Servicio de mensajería en la nube de Oracle
[5] Este servicio proporciona una solución de mensajería para aplicaciones de comunicación asincrónica y está influenciado por la especificación de la API de Java Message Service (JMS). Cualquier plataforma de aplicación que comprenda HTTP también puede utilizar Oracle Messaging Cloud Service a través de la interfaz REST. Para las aplicaciones Java, Oracle Messaging Cloud Service proporciona una biblioteca Java que implementa y extiende la interfaz JMS 1.1. La biblioteca Java implementa la API JMS actuando como un cliente de la API REST.
Servicio de cola simple de Amazon
[6] Admite mensajes de forma nativa de hasta 256 K o hasta 2 GB transmitiendo la carga útil a través de S3. Altamente escalable, duradero y resistente. Proporciona entregas flexibles FIFO y "al menos una vez" para proporcionar una escala masiva. Admite API REST y cliente Java Message Service opcional. Baja latencia. Utiliza Amazon Web Services .
Hierro MQ
[7] Admite mensajes de hasta 64k; garantiza el orden; garantiza la entrega una sola vez; no hay demoras en la recuperación de mensajes. Admite API REST y el protocolo de código abierto beanstalkd. Se ejecuta en múltiples nubes, incluidas AWS y Rackspace. El escalamiento debe ser administrado por el usuario.
Tormenta MQ
[8] La plataforma abierta admite mensajes de hasta 50 Mb. Utiliza AMQP para evitar la dependencia de proveedores y proporcionar neutralidad lingüística. La opción Locate-It permite a los clientes auditar la ubicación de sus datos en todo momento y cumplir con los principios de protección de datos.
Cualquier puntoMQ
[9] Un servicio de mensajería en la nube, multiusuario y empresarial que ejecuta escenarios avanzados de mensajería asincrónica entre aplicaciones. Anypoint MQ está totalmente integrado con Anypoint Platform y ofrece control de acceso basado en roles, administración de aplicaciones cliente y conectores.

Véase también

Referencias

  1. ^ Chandrasekaran, Premanand; Krishnan, Karthik; Ford, Neal; Byars, Brandon; Buijze, Allard (2022). Diseño basado en dominios con Java: una guía para profesionales . Packt Publishing. ISBN 9781800564763.
  2. ^ Hohpe, Gregor. Patrones de integración empresarial: diseño, creación e implementación de soluciones de mensajería . Addison-Wesley Professional. ISBN 978-0321200686.
  3. ^ "IBM MQ en la nube". IBM . 16 de noviembre de 2018.
  4. ^ "Bus de servicio de Microsoft Azure". 23 de marzo de 2017.
  5. ^ "Uso de Oracle Messaging Cloud Service". Centro de ayuda de Oracle . Consultado el 20 de abril de 2018 .
  6. ^ "Servicio de cola simple de Amazon (versión de API 2012-11-05)". 2012-11-05.
  7. ^ "IronMQ". iron.io. Archivado desde el original el 5 de agosto de 2016. Consultado el 11 de enero de 2017. Une los sistemas distribuidos al proporcionar una forma confiable de comunicarse entre servicios y componentes. Altamente disponible, persistente por diseño y con entrega única de máximo esfuerzo, IronMQ es la solución nativa de la nube con mayor solidez industrial para la arquitectura de aplicaciones modernas.
  8. ^ "StormMQ". 3 de mayo de 2010. Archivado desde el original el 16 de julio de 2011.
  9. ^ "AnypointMQ". 30 de agosto de 2016.