Canales

Un canal es un destino efímero dentro de una cola que se puede utilizar para mejorar la equidad del procesamiento de mensajes, especificar la selección de mensajes y activar patrones de solicitud-respuesta. Los mensajes publicados en un canal están disponibles para su consumo tanto desde la cola como desde el nivel de canal.

Los canales aumentan el número de destinos direccionables individuales en una sola cola, lo que permite una mejor ampliación.

Los canales no requieren creación ni supresión explícitas. Los canales comparten los mismos permisos, método de cifrado y límites de su cola principal, pero las colas pueden configurar la capacidad del canal, lo que limita la cantidad máxima de capacidad general de la cola que un único canal puede utilizar en cualquier momento.

Razón de procesamiento de mensajes

Cuando muchos productores publican en la misma cola, un aumento repentino del volumen de un productor puede causar retrasos en el procesamiento de mensajes de otros productores. En algunos escenarios, puede que necesite proteger el consumo de mensajes del sesgo a favor de los consumidores con más tráfico o vecinos ruidosos.

Sin canales, necesitará mantener las colas individuales para cada productor e implantar un mecanismo de equilibrio de carga para consumir mensajes de todos los productores de forma uniforme.

Con los canales, cada productor puede publicar mensajes en un canal específico, pero puede consumir mensajes en el nivel de cola. El servicio Queue devuelve mensajes de un canal aleatorio que tiene mensajes disponibles, lo que mejora la equidad.

Selección de mensajes

Los consumidores pueden incluir un parámetro opcional en las solicitudes para seleccionar mensajes que se publicaron con el ID de canal coincidente. El servicio Queue solo devuelve mensajes disponibles de uno de los canales que coinciden con el ID.

Si varios ID de canales coinciden con la selección de una solicitud, los mensajes se devuelven desde un canal aleatorio que tiene mensajes disponibles. Si se publican mensajes en un canal específico, pero una solicitud de consumo no incluye un canal, los mensajes se devuelven desde un canal aleatorio con mensajes disponibles.

Para obtener más información, consulte Consumo de mensajes de un canal.

Patrones de solicitud y respuesta

Un patrón efímero de solicitud-respuesta es un patrón de integración bien establecido que permite que una aplicación del remitente envíe una solicitud y proporciona una forma para que el receptor envíe correctamente una respuesta a la aplicación del remitente. Este patrón normalmente sólo necesita una cola de corta duración para la transacción.

Mediante colas y canales, varias aplicaciones pueden enviar mensajes a una sola cola y especificar un ID de canal que se identifique de forma única. Una aplicación de consumidor puede enviar una respuesta al productor de mensajes e incluir su ID. Una vez que el productor recibe la respuesta que incluye el mismo ID, la transacción se considera completa. Una vez que el consumidor ha procesado y suprimido correctamente los mensajes, y si no existen más mensajes en el canal, el canal se suprime automáticamente.