Qué es Azure Service BusWhat is Azure Service Bus?

Microsoft Azure Service Bus es un agente de mensajes de integración empresarial completamente administrado.Microsoft Azure Service Bus is a fully managed enterprise integration message broker. Service Bus puede desacoplar aplicaciones y servicios.Service Bus can decouple applications and services. Service Bus ofrece una plataforma confiable y segura para la transferencia asincrónica de datos y estado.Service Bus offers a reliable and secure platform for asynchronous transfer of data and state.

Los datos se transfieren entre distintas aplicaciones y servicios mediante mensajes.Data is transferred between different applications and services using messages. Un mensaje está en formato binario y puede contener JSON, XML o simplemente texto.A message is in binary format and can contain JSON, XML, or just text. Para más información, consulte Integration Services.For more information, see Integration Services.

Algunos escenarios de mensajería comunes son:Some common messaging scenarios are:

  • Mensajería.Messaging. Transferir datos empresariales, como pedidos de ventas o compras, diarios o movimientos de inventario.Transfer business data, such as sales or purchase orders, journals, or inventory movements.
  • Desacoplar aplicaciones.Decouple applications. Mejore la confiabilidad y la escalabilidad de las aplicaciones y los servicios.Improve reliability and scalability of applications and services. El cliente y el servicio no tienen que estar en línea al mismo tiempo.Client and service don't have to be online at the same time.
  • Temas y suscripciones.Topics and subscriptions. Habilite 1:n relaciones entre publicadores y suscriptores.Enable 1:n relationships between publishers and subscribers.
  • Sesiones de mensajes.Message sessions. Implemente flujos de trabajo que requieran la ordenación de mensajes o el aplazamiento de mensajes.Implement workflows that require message ordering or message deferral.

Espacios de nombresNamespaces

Un espacio de nombres es un contenedor para todos los componentes de mensajería.A namespace is a container for all messaging components. Varias colas y temas pueden estar en un solo espacio de nombres, y los espacios de nombres suelen servir como contenedores de aplicación.Multiple queues and topics can be in a single namespace, and namespaces often serve as application containers.

ColasQueues

Los mensajes se envían y se reciben desde colas.Messages are sent to and received from queues. Las colas almacenan mensajes hasta que la aplicación receptora está disponible para recibirlos y procesarlos.Queues store messages until the receiving application is available to receive and process them.

Cola

Los mensajes de las colas se ordenan y se les asigna una marca de tiempo a su llegada.Messages in queues are ordered and timestamped on arrival. Una vez aceptado, el mensaje se conserva de forma segura en almacenamiento redundante.Once accepted, the message is held safely in redundant storage. Los mensajes se entregan en modo de extracción y solo entregan mensajes cuando se solicitan.Messages are delivered in pull mode, only delivering messages when requested.

TemasTopics

También puede usar temas para enviar y recibir mensajes.You can also use topics to send and receive messages. Mientras que una cola se utiliza a menudo para la comunicación punto a punto, los temas son útiles en escenarios de publicación y suscripción.While a queue is often used for point-to-point communication, topics are useful in publish/subscribe scenarios.

Tema

Los temas pueden tener varias suscripciones independientes.Topics can have multiple, independent subscriptions. Un suscriptor a un tema puede recibir una copia de cada mensaje enviado a ese tema.A subscriber to a topic can receive a copy of each message sent to that topic. Las suscripciones son entidades con nombre.Subscriptions are named entities. Las suscripciones se conservan, pero pueden expirar o eliminarse de la misma.Subscriptions persist, but can expire or autodelete.

Es posible que no desee que las suscripciones individuales reciban todos los mensajes enviados a un tema.You may not want individual subscriptions to receive all messages sent to a topic. Si es así, puede usar reglas y filtros para definir las condiciones que desencadenan acciones opcionales.If so, you can use rules and filters to define conditions that trigger optional actions. Puede filtrar los mensajes especificados y establecer o modificar las propiedades de los mensajes.You can filter specified messages and set or modify message properties. Para más información, consulte Filtros y acciones de temas.For more information, see Topic filters and actions.

Características avanzadasAdvanced features

Service Bus incluye características avanzadas que le permiten resolver problemas de mensajería más complejos.Service Bus includes advanced features that enable you to solve more complex messaging problems. En las secciones siguientes se describen algunas de estas características.The following sections describe several of these features.

Sesiones de mensajesMessage sessions

Para crear una garantía primero en entrar/primero en salir (FIFO) en Service Bus, use sesiones.To create a first-in, first-out (FIFO) guarantee in Service Bus, use sessions. Las sesiones de mensajes permiten la administración ordenada y conjunta de secuencias sin enlace de mensajes relacionados.Message sessions enable joint and ordered handling of unbounded sequences of related messages. Para más información, consulte Sesiones de mensajes: primera en entrar, primero en salir (FIFO).For more information, see Message sessions: first in, first out (FIFO).

Artículo reenvío automáticoAutoforwarding

La característica de reenvío directo encadena una cola o suscripción a otra cola o tema.The autoforwarding feature chains a queue or subscription to another queue or topic. Deben formar parte del mismo espacio de nombres.They must be part of the same namespace. Con el reenvío automático, Service Bus quita automáticamente los mensajes de una cola o suscripción y los coloca en una cola o tema diferente.With autoforwarding, Service Bus automatically removes messages from a queue or subscription and puts them in a different queue or topic. Para más información, consulte Encadenamiento de Service Bus entidades con el reenvío.For more information, see Chaining Service Bus entities with autoforwarding.

Cola de mensajes fallidosDead-letter queue

Service Bus admite una cola de mensajes fallidos (DLQ).Service Bus supports a dead-letter queue (DLQ). Una cola con problemas de entrega contiene mensajes que no se pueden entregar a ningún receptor.A DLQ holds messages that can't be delivered to any receiver. Contiene mensajes que no se pueden procesar.It holds messages that can't be processed. Service Bus le permite quitar los mensajes de mensajes fallidos e inspeccionarlos.Service Bus lets you remove messages from the DLQ and inspect them. Para más información, consulte Introducción a las colas de mensajes fallidos de Service Bus.For more information, see Overview of Service Bus dead-letter queues.

Entrega programadaScheduled delivery

Puede enviar mensajes a una cola o un tema para el procesamiento retrasado.You can submit messages to a queue or topic for delayed processing. Puede programar un trabajo para que esté disponible para que lo procese un sistema en un momento determinado.You can schedule a job to become available for processing by a system at a certain time. Para más información, consulte Mensajes programados.For more information, see Scheduled messages.

Aplazamiento de mensajesMessage deferral

Un cliente de cola o suscripción puede diferir la recuperación de un mensaje hasta un momento posterior.A queue or subscription client can defer retrieval of a message until a later time. Este aplazamiento podría deberse a circunstancias especiales en la aplicación.This deferral might be because of special circumstances in the application. El mensaje permanece en la cola o la suscripción, pero se reserva.The message remains in the queue or subscription, but it's set aside. Para más información, consulte Aplazamiento de mensajes.For more information, see Message deferral.

LotesBatching

El procesamiento por lotes del lado cliente permite a un cliente de cola o tema retrasar el envío de un mensaje durante un período de tiempo determinado.Client-side batching enables a queue or topic client to delay sending a message for a certain period of time. Si el cliente envía más mensajes durante este período, los transmite en un único lote.If the client sends additional messages during this time period, it transmits the messages in a single batch. Para más información, consulte Procesamiento por lotes del lado cliente.For more information, see Client-side batching.

TransaccionesTransactions

Una transacción agrupa dos o más operaciones en un ámbito de ejecución.A transaction groups two or more operations together into an execution scope. Service Bus admite operaciones de agrupación en una sola entidad de mensajería dentro del ámbito de una única transacción.Service Bus supports grouping operations against a single messaging entity within the scope of a single transaction. Una entidad de mensaje puede ser una cola, un tema o una suscripción.A message entity can be a queue, topic, or subscription. Para más información, consulte Información general sobre el procesamiento de transacciones de Service Bus.For more information, see Overview of Service Bus transaction processing.

Filtrado y accionesFiltering and actions

Los suscriptores pueden definir los mensajes que quieren recibir de un tema.Subscribers can define which messages they want to receive from a topic. Estos mensajes se especifican en forma de una o varias reglas de suscripción con nombre.These messages are specified in the form of one or more named subscription rules. Para cada condición de regla de coincidencia, la suscripción genera una copia del mensaje, que se puede anotar de manera diferente para cada regla de coincidencia.For each matching rule condition, the subscription produces a copy of the message, which can be differently annotated for each matching rule. Para más información, consulte Filtros y acciones de temas.For more information, see Topic filters and actions.

Eliminación automática en estado inactivoAutodelete on idle

La eliminación automática en modo inactivo le permite especificar un intervalo de inactividad después del cual se elimina automáticamente una cola.Autodelete on idle enables you to specify an idle interval after which a queue is automatically deleted. La duración mínima es de 5 minutos.The minimum duration is 5 minutes. Para más información, consulte la propiedadQueueDescription.AutoDeleteOnIdle.For more information, see the QueueDescription.AutoDeleteOnIdle Property.

Detección de duplicadosDuplicate detection

Un error puede hacer que el cliente tenga dudas sobre el resultado de una operación de envío.An error could cause the client to have a doubt about the outcome of a send operation. La detección de duplicados permite al remitente volver a enviar el mismo mensaje.Duplicate detection enables the sender to resend the same message. Otra opción es para que la cola o el tema descarten las copias duplicadas.Another option is for the queue or topic to discard any duplicate copies. Para más información, consulte Detección de duplicados.For more information, see Duplicate detection.

Protocolos de seguridadSecurity protocols

Service Bus admite protocolos de seguridad como Firmas de acceso compartido (SAS), control de acceso basado en roles de Azure (Azure RBAC) e identidades administradas para recursos de Azure.Service Bus supports security protocols such as Shared Access Signatures (SAS), Azure role-based access control (Azure RBAC) and Managed identities for Azure resources.

Recuperación ante desastres geográficaGeo-disaster recovery

Cuando las regiones o los centros de datos de Azure experimentan un tiempo de inactividad, la recuperación ante desastres geográfica permite que el procesamiento de datos siga funcionando en una región o un centro de datos diferentes.When Azure regions or datacenters experience downtime, Geo-disaster recovery enables data processing to continue operating in a different region or datacenter. Para obtener más información, consulte Recuperación ante desastres con localización geográfica de Azure Service Bus.For more information, see Azure Service Bus Geo-disaster recovery.

SeguridadSecurity

Service Bus admite los protocolos estándar AMQP 1.0 y HTTP/REST.Service Bus supports standard AMQP 1.0 and HTTP/REST protocols.

Bibliotecas de clientesClient libraries

Service Bus admite bibliotecas de cliente para .NET, Javay JMS.Service Bus supports client libraries for .NET, Java, and JMS.

IntegraciónIntegration

Service Bus se integra completamente con los siguientes servicios de Azure:Service Bus fully integrates with the following Azure services:

Pasos siguientesNext steps

Para comenzar a trabajar con la mensajería de Service Bus, consulte los siguientes artículos:To get started using Service Bus messaging, see the following articles: