Compartir a través de


Service Bus y la confiabilidad

Controle por completo la administración de mensajes empresariales mediante colas de mensajes y temas sobre publicación y suscripción con Azure Service Bus. Este servicio almacena los mensajes en un agente (por ejemplo, una cola) hasta que la parte que los consume esté preparada para recibirlos.

Dicha integración aporta las siguientes ventajas:

  • Equilibrio de carga entre roles de trabajo paralelos.
  • Enrutamiento y transferencia de datos de forma segura y control entre los límites de aplicaciones y servicios.
  • Coordinación de trabajo transaccional que requiere un alto grado de confiabilidad.

Para más información sobre el uso de Service Bus, consulte Mensajería de Azure Service Bus. Aprenda a configurar la mensajería para conectar aplicaciones y servicios en entornos locales y en la nube.

Para saber cómo contribuye Service Bus a una carga de trabajo confiable, consulte los siguientes temas:

Las secciones siguientes son específicas para Azure Event Grid y la confiabilidad:

  • Consideraciones de diseño
  • Lista de comprobación de la configuración
  • Opciones de configuración recomendada
  • Artefactos de origen

Consideraciones de diseño

Maximice la confiabilidad con un Acuerdo de Nivel de Servicio de tiempo de actividad de Azure Service Bus. Las aplicaciones configuradas correctamente pueden enviar o recibir mensajes, o realizar otras operaciones, en una cola o un tema implementados. Para más información, consulte el Acuerdo de Nivel de Servicio de Azure Service Bus.

Otras consideraciones de diseño incluyen:

Además de la documentación sobre los niveles de mensajería Prémium y Estándar de Service Bus, las siguientes características solo están disponibles en la referencia de almacén (SKU) del Prémium:

Al implementar Service Bus con la recuperación ante desastres geográfica y en zonas de disponibilidad, la operación de nivel de servicio (SLO) aumenta drásticamente, pero no cambia el Acuerdo de Nivel de Servicio de tiempo de actividad.

Lista de comprobación

¿Ha configurado Azure Service Bus teniendo en cuenta la confiabilidad?

  • Evalúe las ventajas del nivel Premium de Azure Service Bus.
  • Asegúrese de que las excepciones de la mensajería de Service Bus se controlan correctamente.
  • Conéctese a Service Bus con el protocolo Advanced Message Queuing Protocol (AMQP) y use puntos de conexión de servicio o puntos de conexión privados siempre que sea posible.
  • Consulte los procedimientos recomendados para mejorar el rendimiento mediante la mensajería de Service Bus.
  • Implemente la replicación geográfica en el remitente y el receptor para estar protegido si se producen interrupciones y desastres.
  • Configuración de la recuperación ante desastres geográfica.
  • Si necesita una mensajería crítica con colas y temas, es aconsejable que el nivel Prémium de Service Bus tenga recuperación ante desastres geográfica.
  • Configure la redundancia de zona en el espacio de nombres de Service Bus (solo disponible con el nivel Prémium).
  • Implemente la alta disponibilidad para el espacio de nombres de Service Bus.
  • Asegúrese de que los mensajes relacionados se entregan en un orden garantizado.
  • Evalúe diferentes características de Java Messaging Service (JMS) a través de JMS API.
  • Use paquetes NuGet de .NET para comunicarse con las entidades de mensajería de Service Bus.
  • Implemente resistencia para el control de errores transitorios al enviar o recibir mensajes.
  • Implemente el escalado automático de unidades de mensajería.

Recomendaciones para la configuración

Tenga en cuenta las siguientes recomendaciones para optimizar la confiabilidad al configurar Azure Service Bus:

Recomendación Descripción
Evalúe las ventajas del nivel Premium de Azure Service Bus. Considere la posibilidad de migrar al nivel Prémium de Service Bus para sacar provecho de las ventajas de la protección contra desastres e interrupciones compatible con la plataforma.
Conéctese a Service Bus con el protocolo AMQP y use puntos de conexión de servicio o puntos de conexión privados siempre que sea posible. Esta recomendación mantiene el tráfico en la red troncal de Azure. Nota: El protocolo de conexión predeterminado para los espacios de nombres Microsoft.Azure.ServiceBus y Windows.Azure.ServiceBus es AMQP.
Implemente la replicación geográfica en el remitente y el receptor para estar protegido si se producen interrupciones y desastres. El nivel Estándar solo admite la implementación de redundancia geográfica en el remitente y receptor. Una interrupción o un desastre en una región de Azure podría provocar un tiempo de inactividad para la solución.
Configuración de la recuperación ante desastres geográfica. - Activo/activo
- Activo/pasivo
- Espacio de nombres emparejado (activo/pasivo)
- Nota: Es preferible que la región secundaria sea una región emparejada de Azure.
Si necesita una mensajería crítica con colas y temas, es aconsejable que el nivel Prémium de Service Bus tenga recuperación ante desastres geográfica. La elección del patrón depende de los requisitos empresariales y del objetivo de tiempo de recuperación (RTO).
Configure la redundancia de zona en el espacio de nombres de Service Bus (solo disponible con el nivel Prémium). La redundancia de zona incluye tres copias del almacén de mensajería. Una zona se asigna como almacén de mensajería principal y las otras como secundarias. Si la zona principal deja de estar disponible, una secundaria se promueve a principal sin tiempo de inactividad perceptible. Availability Zones está disponible en un subconjunto de regiones de Azure y se agregan con nuevas regiones con regularidad.
Implemente la alta disponibilidad para el espacio de nombres de Service Bus. El nivel Prémium admite tanto la recuperación ante desastres como la replicación en el nivel del espacio de nombres. En este nivel, el nivel Prémium proporciona alta disponibilidad para la recuperación ante desastres de metadatos mediante los espacios de nombres de recuperación ante desastres principal y secundario.
Asegúrese de que los mensajes relacionados se entregan en un orden garantizado. Tenga en cuenta este requisito para establecer una clave de partición, un identificador de sesión o un identificador de mensaje en cada mensaje para asegurarse de que los mensajes relacionados se envían a la misma partición de la entidad de mensajería.
Evalúe diferentes características de JMS a través de JMS API. Las características disponibles a través de JMS 2.0 API (y su kit de desarrollo de software) no son las mismas que las que están disponibles a través del SDK nativo. Por ejemplo, las sesiones de Service Bus no están disponibles en JMS.
Implemente resistencia para el control de errores transitorios al enviar o recibir mensajes. Es esencial implementar un control de errores transitorios adecuado y un control de errores de las operaciones de envío y recepción para mantener el rendimiento y evitar la pérdida de mensajes.
Implemente el escalado automático de unidades de mensajería para asegurarse de que tiene suficientes recursos disponibles para las cargas de trabajo.

Artefactos de origen

  • Para identificar instancias de Service Bus Prémium que no usan puntos de conexión privados, use la siguiente consulta:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and isempty(properties.privateEndpointConnections)
    
  • Para identificar instancias de Service Bus que no estén en el nivel Prémium, use la siguiente consulta:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier != 'Premium'
    
  • Para identificar instancias de Service Bus Prémium que no tengan redundancia de zona, use la siguiente consulta:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and properties.zoneRedundant == 'false'
    

Paso siguiente