VENTAS: 1-800-867-1389

Colas de Azure y Colas de Service Bus: comparación y diferencias

Actualizado: octubre de 2014

Autores: Valery Mizonov, Seth Manheim y Abhishek Lal

Colaboradores: Brad Calder, Jai Haridas, Jason Hogg, Jeff Irwin, Jaganathan Thangavelu, Kartik Paramasivam, Todd Holmquist-Sutherland y Ruppert Koch

En este artículo se analizan las diferencias y similitudes existentes entre los dos tipos de colas que Azure ofrece en la actualidad: colas de Microsoft Azure y colas de Microsoft Azure Service Bus. Con esta información, puede comparar y contrastar las tecnologías respectivas para poder tomar una decisión informada sobre la solución más adecuada para sus necesidades.

Microsoft Azure admite dos tipos de mecanismos de cola: colas de Azure y colas de CmdLets.

Las colas de Azure, que forman parte de la infraestructura de almacenamiento de Azure, ofrecen una interfaz Get/Put/Peek simple basada en REST, y proporcionan mensaje persistente confiable dentro de los servicios y entre ellos.

Las colas de CmdLets forman parte de una infraestructura más amplia de mensajería de Azure que admite puesta en cola, además de publicación y subscripción, comunicación remota de servicio web y patrones de integración. Para obtener más información sobre de colas, temas/subscripciones y retransmisiones CmdLets, vea Introducción a los patrones de mensajería del Service Bus.

Si bien ambas tecnologías de puesta en cola existen simultáneamente, las Colas de Azure aparecieron primero como un mecanismo dedicado de almacenamiento de colas sobre los servicios de almacenamiento de Azure. Las colas CmdLets se basan en la infraestructura más amplia de “mensajería negociada” diseñada para integrar aplicaciones o componentes de aplicación que pueden abarcar varios protocolos de comunicación, contratos de datos, dominios de confianza y/o entornos de red.

En este artículo se comparan las dos tecnologías de cola que Azure ofrece; se explican las diferencias en el comportamiento y la implementación de las características que cada una proporciona. El artículo también proporciona instrucciones para elegir las características más indicadas para las necesidades de desarrollo de aplicaciones.

Tanto las Colas de Azure como las Colas de CmdLets son implementaciones del servicio Message Queue Server que se ofrece actualmente en Microsoft Azure. Cada una tiene un conjunto de características ligeramente diferente, lo que significa que puede elegir uno u otro, o usar ambos, según las necesidades de su solución concreta o del problema empresarial/técnico que desee resolver.

A la hora de determinar qué tecnología de puesta en cola se ajusta al propósito de una solución dada, los arquitectos y los desarrolladores de soluciones deben tener en cuenta las recomendaciones siguientes. Para obtener más detalles, vea la sección siguiente.

Como arquitecto/desarrollador de soluciones, debe usar Colas de Azure si:

  • La aplicación debe almacenar más de 80 GB de mensajes en una cola, donde los mensajes tienen una duración inferior a 7 días.

  • La aplicación desea realizar el seguimiento del progreso para procesar un mensaje dentro de la cola. Esto resulta útil si se bloquea un trabajador que procesa un mensaje. Un trabajador posterior puede usar esa información para continuar desde donde se quedó el trabajador anterior.

  • Necesita registros del servidor de todas las transacciones ejecutadas en las colas.

Como arquitecto/desarrollador de soluciones, debe usar Colas de CmdLets si:

  • La solución debe poder recibir mensajes sin tener que sondear la cola. Con CmdLets, se puede lograr mediante el uso de la operación de recepción de sondeo largo mediante los protocolos basados en TCP que admite CmdLets.

  • La solución necesite la cola para proporcionar una entrega garantizada ordenada de primero en entrar, primero en salir (FIFO).

  • Desea una experiencia simétrica en Azure y en Windows Server (nube privada). Para obtener más información, vea Service Bus para Windows Server.

  • La solución debe poder admitir la detección automática de duplicados.

  • Desea que su aplicación procese mensajes como flujos paralelos de larga duración (los mensajes se asocian a un flujo mediante la propiedad SessionId en el mensaje). En este modelo, cada nodo de de la aplicación que consume compite por los flujos, al contrario que los mensajes. Cuando se asigna un flujo a un nodo en uso, el nodo puede examinar el estado del estado del flujo de aplicación mediante transacciones.

  • La solución necesite comportamiento transaccional y atomicidad al enviar o recibir varios mensajes de una cola.

  • La característica de período de vida (TTL) de la carga de trabajo específica de la aplicación pueda superar el período de 7 días.

  • La aplicación administra mensajes que pueden superar los 64 kB pero no es probable que se acerque al límite de 256 kB.

  • Necesita proporcionar un modelo de acceso basado en roles a las colas, y diferentes derechos y permisos para los remitentes y los receptores.

  • El tamaño de la cola no será mayor de 80 GB.

  • Desea utilizar el negociador de mensajería AMQP 1.0 basado en estándares. Para obtener más información sobre de AMQP, vea Introducción al protocolo AMQP del Service Bus.

  • Puede idear una migración desde una comunicación punto a punto basada en la cola a un modelo de intercambio de mensajes que permita una integración sin problemas de receptores (suscriptores) adicionales, cada uno de los cuales recibe copias independientes de algunos o de todos los mensajes enviados a la cola. Esto último hace referencia a la capacidad de publicación/suscripción proporcionada de forma nativa por CmdLets.

  • La solución de mensajería debe poder admitir la garantía de entrega "Una vez como máximo" sin necesidad de compilar los componentes de infraestructura adicionales.

  • Desea poder publicar y usar lotes de mensajes.

  • Necesite una integración completa con la pila de comunicación de Windows Communication Foundation (WCF) en .NET Framework.

En las tablas de las próximas secciones se ofrece una agrupación lógica de las características de las colas que le permiten comparar, de un vistazo, las capacidades disponibles tanto en las Colas de Azure como en las Colas de CmdLets.

En esta sección se comparan algunas de las capacidades fundamentales de puesta en cola que proporcionan las Colas de Microsoft Azure y las Colas de Microsoft Azure Service Bus.

 

Criterios de comparación Colas de Azure Colas de CmdLets

Garantía de ordenación

No

Para obtener más información, vea la primera nota de la sección "Información adicional".

Sí: primero en entrar, primero en salir (FIFO)

(mediante el uso de sesiones de mensajería)

Garantía de entrega

Una vez como mínimo

Una vez como mínimo

Una vez como máximo

Compatibilidad con transacciones

No

(mediante el uso de transacciones locales)

Comportamiento de recepción

Sin bloqueo

(se completa inmediatamente si no se encuentra ningún mensaje nuevo)

Bloqueo con/sin tiempo de espera

(ofrece sondeo largo, o la “Técnica de cometa")

Sin bloqueo

(mediante el uso de la API administrada de .NET solamente)

API estilo inserción

No

OnMessage y sesiones OnMessage con API administrada de .NET.

Modo de recepción

Consulta y concesión

Consulta y bloqueo

Recepción y eliminación

Modo de acceso exclusivo

Basado en concesión

Basado en bloqueo

Duración de concesión/bloqueo

30 segundos (valor predeterminado)

7 días (máximo) (Puede renovar o lanzar una concesión de mensaje mediante la API UpdateMessage.)

60 segundos (valor predeterminado)

Para renovar un bloqueo de mensaje se puede usar la API RenewLock.

Granularidad de concesión/bloqueo

Nivel de mensaje

(cada mensaje puede tener un valor distinto de tiempo de espera, que después podrá actualizar según sus necesidades mientras se procesa el mensaje, mediante la API UpdateMessage)

Nivel de cola

(cada cola tiene una granularidad de bloqueo aplicada a todos sus mensajes, pero puede renovar el bloqueo mediante la API RenewLock).

Recepción por lotes

(explícitamente especificando el número de mensajes al recuperar mensajes, hasta un máximo de 32 mensajes)

(implícitamente habilitando una propiedad de captura previa o explícitamente mediante el uso de transacciones)

Envío por lotes

No

(mediante el uso de transacciones o por lotes del cliente)

  • Los mensajes en las colas de Azure son normalmente del tipo "primero en entrar, primero en salir" (FIFO), pero en ocasiones pueden estar desordenados. Por ejemplo cuando la duración del tiempo de expiración de la visibilidad del mensaje expira (por ejemplo, como resultado de una aplicación cliente que se bloquea durante el procesamiento). Cuando el tipo de expiración de visibilidad expira, el mensaje se vuelve visible de nuevo en la cola para que otro trabajo lo quite de ella. En ese momento, el mensaje recientemente visible podría colocarse en la cola (para que lo vuelvan a quitar de ella) después de un mensaje que originalmente estaba en la cola después de él.

  • Si ya usa blobs o tablas de almacenamiento Azure y empieza a usar colas, se garantizará un 99,9 % de disponibilidad. Si usa blobs o tablas con Colas de CmdLets, tendrá una disponibilidad inferior.

  • El patrón FIFO garantizado de las Colas de CmdLets requiere el uso de sesiones de mensajería. En caso de que se bloquee la aplicación al procesar un mensaje recibido en el modo de Peek & Lock, la próxima vez que un receptor de la cola acepte una sesión de mensajería, empezará con el mensaje erróneo después de que expire su período de tiempo de vida (TTL).

  • Las Colas de Azure están diseñadas para admitir escenarios de mensajería estándar, tales como componentes de aplicación de desacoplamiento para aumentar la escalabilidad y la tolerancia a los errores, la nivelación de carga y los flujos de trabajo del proceso de compilación.

  • Las Colas de CmdLets admiten la garantía de entrega Una vez como mínimo. Además, se puede admitir la semánticamente Una vez como máximo usando el estado de la sesión para almacenar el estado de la aplicación y usando transacciones para recibir mensajes y actualizar el estado de la sesión de forma atómica. El servicio de flujo de trabajo de Azure emplea esta técnica para garantizar la entrega Una vez como máximo.

  • Las Colas de Azure proporcionan un modelo de programación uniforme y consistente en todas las colas, tablas y blobs, tanto para desarrolladores como para los equipos operativos.

  • Las Colas de CmdLets son compatibles con transacciones locales en el contexto de una cola única.

  • El modo de Recepción y eliminación admitido por CmdLets ofrece la posibilidad de reducir el número de operaciones de mensajería (y el costo asociado) a cambio de una menor garantía de entrega.

  • Las Colas de Azure proporcionan concesiones con la posibilidad de ampliar las concesiones para mensajes. Esto permite que los trabajadores mantengan concesiones cortas en los mensajes. Así, si se bloquea un trabajador, otro trabajador puede procesar rápidamente de nuevo el mensaje. Además, un trabajador puede ampliar la concesión de un mensaje si necesita procesarlo durante más tiempo que el tiempo de concesión actual.

  • Las Colas de Azure ofrecen un tiempo de espera de visibilidad que se puede establecer al poner en cola o quitar de la cola un mensaje. Además, puede actualizar un mensaje con distintos valores de concesión en tiempo de ejecución y actualizar distintos valores entre mensajes de la misma cola. Los tiempos de espera de bloqueo de CmdLets se definen en los metadatos de la cola, pero puede renovar el bloqueo mediante una llamada al método RenewLock.

  • El tiempo de espera máximo para una operación de recepción con bloqueo en las Colas de CmdLets es 24 días. Sin embargo, los tiempos de espera basados en REST tienen un valor máximo de 55 segundos.

  • El procesamiento por lotes de cliente proporcionado por CmdLets permite que un cliente de la cola procese varios mensajes por lotes en una sola operación de envío. El procesamiento por lotes solo está disponible para las operaciones de envío asincrónicas.

  • Características como el límite de 200 de las Colas de Azure (más cuando se virtualizan las cuentas) y de las colas ilimitadas la convierten en una plataforma ideal para proveedores de SaaS.

  • Las Colas de Azure proporcionan un mecanismo de control de acceso delegado flexible y eficiente.

En esta sección se comparan las capacidades avanzadas proporcionadas por las Colas de Azure y las Colas de CmdLets.

 

Criterios de comparación Colas de Azure Colas de CmdLets

Entrega programada

Colas de mensajes fallidos automáticas

No

Aumento del valor del período de vida de la cola

(mediante la actualización en contexto del tiempo de espera de visibilidad)

(proporcionado mediante una función de API dedicada)

Compatibilidad con mensajes dudosos

Actualización en contexto

Registro de transacciones del lado servidor

No

Estadísticas de almacenamiento

Métricas por minuto: proporciona métricas en tiempo real para la disponibilidad, TPS, recuentos de llamadas de API, recuentos de errores y mucho más; todo ello en tiempo real (actualizado cada minuto y con informe en pocos minutos desde que pasó durante la producción). Para obtener más información, vea Acerca de las métricas del análisis del almacenamiento.

(consultas masivas llamando a GetQueues)

Administración de estados

No

Microsoft.ServiceBus.Messaging.EntityStatus.Active, Microsoft.ServiceBus.Messaging.EntityStatus.Disabled, Microsoft.ServiceBus.Messaging.EntityStatus.SendDisabled, Microsoft.ServiceBus.Messaging.EntityStatus.ReceiveDisabled

Reenvío automático de mensaje

No

Función de purgado de la cola

No

Grupos de mensajes

No

(mediante el uso de sesiones de mensajería)

Estado de aplicación según grupo de mensajes

No

Detección de duplicados

No

(configurable en el lado del remitente)

Integración con WCF

No

(ofrece enlaces de WCF listos para usar)

Integración con WF

Personalizada

(requiere crear una actividad de WF personalizada)

Nativa

(ofrece actividades de WF listas para usar)

Exploración de grupos de mensajes

No

Captura de sesiones de mensajes según identificador

No

  • Ambas tecnologías de cola permiten programar un mensaje para su entrega posterior.

  • El reenvío automático de cola permite que cientos de colas reenvíen automáticamente sus mensajes a una cola única, desde la cual la aplicación que lo recibe usa el mensaje. Se puede utilizar este mecanismo para lograr la seguridad, el flujo de control y almacenamiento aislado entre cada publicador de mensajes.

  • Las Colas de Azure permiten actualizar el contenido del mensaje. Esta funcionalidad se puede usar para conservar información de estado y actualizaciones incrementales de progreso en el mensaje de forma que se pueda procesar desde el último punto de comprobación conocido, en lugar de hacerlo desde el principio. Gracias a las Colas de CmdLets, se puede activar el mismo escenario mediante el uso de sesiones de mensajes. Las sesiones le permiten guardar y recuperar el estado de procesamiento de la aplicación (mediante SetState y GetState).

  • Las colas de mensajes fallidos, que solo se admiten en las Colas de CmdLets, pueden ser útiles para aislar los mensajes que la aplicación receptora no puede procesar correctamente o cuando los mensajes no pueden llegar a su destino debido a una propiedad de tiempo de vida (TTL) expirada. El valor de TTL especifica cuánto tiempo se conserva un mensaje en la cola. Con CmdLets, cuando expire el período de TTL el mensaje se moverá a una cola especial denominada el $DeadLetterQueue.

  • Para encontrar mensajes “dudosos” en las Colas de Azure, al quitar de la cola un mensaje la aplicación examina la propiedad DequeueCount del mensaje. Si el valor de DequeueCount es mayor que un umbral especificado, la aplicación mueve el mensaje a una cola de "mensajes fallidos" definida por la aplicación.

  • Las Colas de Azure le permiten obtener un registro detallado de todas las transacciones ejecutadas en la cola, así como métricas agregadas. Ambos son útiles para depurar y entender cómo la aplicación usa las Colas de Azure. También son útiles para optimizar el rendimiento de la aplicación y reducir los costos de usar colas.

  • El concepto de “sesiones de mensajes” admitido por CmdLets permite asociar los mensajes pertenecientes a un determinado grupo lógico a un receptor específico, lo que a su vez crea una afinidad de sesión entre los mensajes y sus destinatarios respectivos. Puede habilitar esta funcionalidad avanzada en CmdLets estableciendo la propiedad SessionID de un mensaje. Los receptores pueden escuchar después en un id. de sesión específico y recibir mensajes que comparten el identificador de sesión especificado.

  • La funcionalidad de detección de duplicación que admiten las Colas de CmdLets quita automáticamente los mensajes duplicados enviados a una cola o un tema, según el valor de la propiedad MessageID.

En esta sección se comparan las Colas de Azure y las Colas de CmdLets desde la perspectiva de la capacidad y las cuotas que se pueden aplicar.

 

Criterios de comparación Colas de Azure Colas de CmdLets

Tamaño máximo de cola

200 TB

(capacidad limitada a una sola cuenta de almacenamiento)

1 GB a 80 GB

(definido al crear una cola y activar el particionamiento)

Tamaño máximo de mensaje

64 KB

(48 kB cuando se usa la codificación Base64)

Azure admite mensajes grandes mediante la combinación de colas y blobs, momento en el cual puede poner en cola hasta 200 GB para un solo elemento.

256 KB

(incluidos el encabezado y el cuerpo, tamaño máximo del encabezado: 64 KB)

TTL máximo de mensaje

7 días

Sin límite

Número máximo de colas

Sin límite

10.000

(por espacio de nombres de servicio, se puede aumentar)

Número máximo de clientes simultáneos

Sin límite

Sin límite

(el límite de 100 conexiones simultáneas solo se aplica a la comunicación basada en el protocolo TCP)

  • Con las Colas de Azure, si el contenido del mensaje no es XML seguro, se debe codificar con Base64. Si codifica el mensaje en Base64, la carga de usuario puede ser de hasta 48 kB, en lugar de 64 kB.

  • Con las Colas de CmdLets, cada mensaje almacenado en una cola consta de dos partes: un encabezado y un cuerpo. El tamaño total del mensaje no puede superar los 256 kB.

  • Cuando los clientes se comunican con Colas de CmdLets sobre el protocolo TCP, el número máximo de conexiones simultáneas en una sola cola de CmdLets está limitado a 100. Este número se comparte entre remitentes y receptores. Si se alcanza esta cuota, las solicitudes posteriores de conexiones adicionales se rechazarán y el código de llamada recibirá una excepción. Este límite no se impone en los clientes que se conectan a las colas mediante la API basada en REST.

  • CmdLets aplica límites de tamaño de la cola. El tamaño máximo de cola se especifica al crear la cola y puede tener un valor de entre 1 y 80 GB. Si se alcanza el valor de tamaño de cola establecido al crear la cola, se rechazan los mensajes entrantes adicionales y el código de llamada recibirá una excepción. Las cuotas Para obtener más información sobre de CmdLets, vea Cuotas de Bus de servicio.

  • Si necesita más de 10.000 colas en un solo CmdLets de espacio de nombres de servicio, puede ponerse en contacto con el equipo de soporte de Azure y solicitar un incremento. Para escalar más allá de 10.000 colas con CmdLets, también puede crear espacios de nombres de servicio adicionales desde el Portal de administración de Microsoft Azure.

En esta sección se comparan las características de administración proporcionadas por las Colas de Azure y las Colas de CmdLets.

 

Criterios de comparación Colas de Azure Colas de CmdLets

Protocolo de administración

REST sobre HTTP/HTTPS

REST sobre HTTPS

Protocolo en tiempo de ejecución

REST sobre HTTP/HTTPS

REST sobre HTTPS

Estándar AMQP 1.0 (TCP con TLS)

API administrada de .NET

(API administrada de cliente de almacenamiento de .NET)

(API administrada de mensajería negociada de .NET)

C++ nativo

No

API Java

API PHP

API Node.js

Compatibilidad con metadatos arbitrarios

No

Reglas de nomenclatura de colas

Hasta 63 caracteres de longitud

(las letras de un nombre de cola deben ser minúsculas)

Hasta 260 caracteres de longitud

(los nombres de cola no distinguen mayúsculas de minúsculas)

Función para obtener la longitud de cola

(valor aproximado si los mensajes caducan más allá del TTL sin que se eliminen)

(valor exacto en un momento dado)

Función de consulta

  • Las Colas de Azure proporcionan compatibilidad con atributos arbitrarios que se pueden aplicar a la descripción de la cola, en forma de pares de nombre-valor.

  • Ambas tecnologías de cola ofrecen la posibilidad de consultar un mensaje sin tener que bloquearlo, lo que puede ser útil al implementar una herramienta de explorador/examinador de colas.

  • Las API administradas de mensajería negociada de .NET de CmdLets aprovechan las conexiones TCP dúplex completo para mejorar el rendimiento en comparación con REST sobre HTTP, y admiten el protocolo estándar AMPQ 1.0.

  • Los nombres de la Cola de Azure pueden tener entre 3 y 63 caracteres y pueden contener letras minúsculas, números y guiones. Para obtener más información, vea Asignar nombres a colas y metadatos.

  • Los nombres de Colas de CmdLets pueden tener hasta 260 caracteres de longitud y tienen reglas de nomenclatura menos restrictivas. Los nombres de Colas de CmdLets pueden contener letras, números, puntos (.), guiones (-) y guiones bajos (_).

En esta sección se comparan las Colas de Azure y las Colas de CmdLets desde la perspectiva del rendimiento.

 

Criterios de comparación Colas de Azure Colas de CmdLets

Rendimiento máximo

Hasta 2.000 mensajes por segundo

(según una prueba comparativa con mensajes de 1 kB)

Hasta 2.000 mensajes por segundo

(según una prueba comparativa con mensajes de 1 kB)

Latencia promedio

10 ms

(con TCP Nagle deshabilitado)

20-25 ms

Comportamiento de la limitación

Rechazar con código HTTP 503

(las solicitudes limitadas no se consideran facturables)

Rechazar con excepción HTTP 503

(las solicitudes limitadas no se consideran facturables)

  • Una sola Cola de Azure puede procesar hasta 2.000 transacciones por segundo. Una transacción es una operación Put, Get o Delete. El envío de un único mensaje a una cola (Put) se considera una transacción, pero la recepción de un mensaje suele ser un proceso de dos pasos que incluye la recuperación (Get), seguida de una solicitud para quitar el mensaje de la cola (Delete). Por tanto, una operación correcta de quitar de la cola suele implicar dos transacciones. La recuperación de múltiples mensajes en un lote puede reducir el impacto de ello, ya que puede Get hasta 32 mensajes en una sola transacción, seguido de la Delete para cada uno de ellos. Para obtener un mejor rendimiento, puede crear colas múltiples (una cuenta de almacenamiento puede tener un número ilimitado de colas).

  • Cuando la aplicación alcanza el rendimiento máximo para una Cola de Azure, el servicio Cola suele devolver una respuesta "HTTP 503 Servidor ocupado”. Cuando esto ocurre, la aplicación debe desencadenar la lógica de reintento con un retraso de espera aleatorio exponencial.

  • La latencia de las Colas de Azure es de 10 milisegundos por término medio cuando se administran mensajes pequeños (inferiores a 10 kB) desde un servicio hospedado que se encuentra en la misma ubicación (región) que la cuenta de almacenamiento.

  • Las Colas de Azure y las Colas de CmdLets aplican el comportamiento de limitación rechazando las solicitudes a una cola que se está limitando. Sin embargo, ninguna de ellas considera facturables las solicitudes limitadas.

  • Las pruebas comparativas realizadas con las Colas de CmdLets han demostrado que una sola cola puede lograr un rendimiento de hasta 2.000 mensajes por segundo con un tamaño de mensaje de aproximadamente 1 kB. Si desea obtener un rendimiento mayor, use varias colas. Para obtener más información acerca de la optimización del rendimiento con CmdLets, vea Prácticas recomendadas para las mejoras de rendimiento mediante la mensajería con confianza establecida del Service Bus.

  • Cuando se alcanza el rendimiento máximo para una Cola de CmdLets, se devuelve al cliente de la cola una respuesta ServerBusyException (cuando se usa la API administrada de mensajería negociada de .NET) o HTTP 503 (cuando se usa la API basada en REST), lo que indica que se está limitando la cola.

En esta sección se describen las características de autenticación y autorización compatibles con las Colas de Azure y las Colas de CmdLets.

 

Criterios de comparación Colas de Azure Colas de CmdLets

Autenticación

Clave simétrica

Clave simétrica

Modelo de control de acceso

Acceso delegado a través de tokens SAS.

RBAC a través de ACS

Federación del proveedor de identidad

No

  • Todas las solicitudes a cualquiera de las tecnologías de puesta en cola deben estar autenticadas. No se admiten colas públicas con acceso anónimo. Gracias al uso de SAS, puede enfrentarse a este escenario publicando un SAS de solo escritura, un SAS de solo lectura o incluso un SAS de acceso completo.

  • El esquema de autenticación proporcionado por las Colas de Azure implica el uso de una clave simétrica, que es un Código de autentificación de mensajes basado en hash (HMAC), que se calcula con el algoritmo SHA-256 y se codifica como una cadena Base64 string. Para obtener más información sobre sobre el protocolo respectivo, vea Autenticar el acceso a la cuenta de almacenamiento. Las Colas de CmdLets admiten un modelo similar mediante claves simétricas. Para obtener más información, vea Autenticación con firma de acceso compartido en Service Bus.

  • El Active Directory Access Control de Microsoft Azure (también conocido como Access Control Service o ACS) admitido por CmdLets ofrece tres roles distintos: Administrador, Remitente y Receptor, que no se admite actualmente para las Colas de Azure.

  • Puesto que CmdLets ofrece integración con ACS, le permite federarse con Active Directory (mediante el uso de ADFS) y proveedores de identidad web comunes como Live ID, Google, Facebook y Yahoo.

En esta sección se comparan las Colas de Azure y las Colas de CmdLets desde la perspectiva del costo.

 

Criterios de comparación Colas de Azure Colas de CmdLets

Costo de transacción de cola

0,0005 $

(por 10.000 transacciones)

0,01 $

(por 10.000 mensajes)

Operaciones facturables

Todos

Solo enviar/recibir

(sin costo para otras operaciones)

Transacciones inactivas

Facturable

(consultar una cola vacía se cuenta como una transacción facturable)

Facturable

(recibir en una cola vacía se considera un mensaje facturable)

Costo de almacenamiento

0,07 $

(por GB/mes)

0,00 $

Costos de transferencia de datos de salida

0,12 $ - 0,19 $

(según la geografía)

0,12 $ - 0,19 $

(según la geografía)

  • Las transferencias de datos se cobran en función de la cantidad total de datos que salen de los centros de datos de Azure a través de Internet en un período de facturación determinado.

  • No se cobran las transferencias de datos entre los servicios de Azure que se encuentran en la misma región.

  • En el momento de escribir este documento, todas las transferencias de datos de entrada son gratuitas.

  • El costo de transacciones de ACS es insignificante cuando se realizan operaciones de mensajería en las Colas de CmdLets. CmdLets adquiere un token de ACS por una única instancia del objeto generador de mensajería. El token se reutiliza hasta que expira, después de aproximadamente 20 minutos. Por tanto, el volumen de las operaciones de mensajería en CmdLets no es directamente proporcional a la cantidad de transacciones de ACS necesarias para admitir estas operaciones.

  • Dada la compatibilidad con sondeos largos, el uso de las Colas de CmdLets puede ser más rentable en situaciones donde se necesite entrega con baja latencia.

noteNota
Todos los costos están sujetos a cambios. La tabla anterior refleja el precio actual en el momento de escribir este artículo y no incluye ninguna oferta promocional que pueda haber disponible. Para obtener información actualizada sobre los precios, vea la página Información general sobre precios.

La decisión sobre cuándo usar las Colas de Azure o las Colas de CmdLets depende claramente de varios factores. Estos factores pueden depender en gran medida de las necesidades individuales de la aplicación y de su arquitectura. Si la aplicación ya usa las capacidades básicas de Microsoft Azure, quizás prefiera elegir las Colas de Azure, especialmente si necesita una comunicación básica y mensajería entre servicios o necesita colas que puedan tener un tamaño de más de 80 GB.

Puesto que las Colas de CmdLets proporcionan diversas características avanzadas, como sesiones, transacciones, detección de duplicados, colas de mensajes fallidos automáticas y capacidades duraderas de publicación/suscripción, pueden ser la opción preferida si va a compilar una aplicación híbrida o si la aplicación necesita estas características.

Este artículo empezó con un resumen de recomendaciones descriptivas, y después enumeró y comparó las características de cada tecnología que Azure ofrece actualmente. Al enumerar las características en grupos funcionales, el tema presentaba un análisis en paralelo visualmente atractivo que debe ayudarle a entender las similitudes y diferencias existentes entre las Colas de Azure y las Colas de CmdLets. Al entender mejor las dos tecnologías, podrá tomar una decisión más informada sobre la tecnología de cola que va a usar y cuándo usarla.

Vea también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2015 Microsoft