Simple Message Queue (anteriormente MNS) utiliza los siguientes términos para la mensajería basada en colas. Familiarícese con estos conceptos antes de configurar colas, enviar y recibir mensajes, o gestionar el ciclo de vida de los mensajes mediante la API.
Cuenta
ID de cuenta de Alibaba Cloud. La cuenta que crea una cola se convierte en su propietaria.
Cola
Destino que almacena mensajes hasta que los consumidores los recuperan. Los productores envían mensajes a una cola y los consumidores los reciben desde ella. Cada mensaje en una cola se identifica de forma única mediante la combinación de su ID de mensaje y su identificador de recepción (ReceiptHandle).
Tipos de cola
|
Propiedad |
Cola estándar |
Cola diferida |
|
Comportamiento |
Los mensajes están disponibles para consumo de inmediato |
Los mensajes permanecen ocultos durante un periodo de retraso configurable antes de estar disponibles |
|
Configuración de retraso |
DelaySeconds no está establecido o tiene valor 0 |
DelaySeconds se establece mediante CreateQueue o SetQueueAttributes |
|
Cuándo usarla |
Procesamiento en tiempo real donde los mensajes deben consumirse inmediatamente |
Procesamiento diferido que requiere un periodo de espera antes del consumo |
Propietario de la cola
La cuenta de Alibaba Cloud que crea una cola es su propietaria. Los propietarios de colas tienen autorización para ejecutar todas las operaciones sobre ellas. Después de activar Simple Message Queue (anteriormente MNS), llame a la operación de API CreateQueue para crear una cola. Consulte el ID de cuenta del propietario de una cola en el sitio web de Alibaba Cloud.
Productor y consumidor
Productor: cliente que envía mensajes a una cola.
Consumidor: cliente que recibe mensajes de una cola.
Endpoint
URL de acceso para las llamadas a la API de Simple Message Queue (anteriormente MNS). El formato es:
http://<AccountId>.mns.<Region>.aliyuncs.com
|
Marcador de posición |
Descripción |
|
|
Su ID de cuenta de Alibaba Cloud. Reemplácelo con su ID de cuenta real al llamar a operaciones de la API. |
|
|
La región donde se despliega Simple Message Queue (anteriormente MNS), como |
Tipos de mensaje
|
Propiedad |
Mensaje estándar |
Mensaje diferido |
|
Comportamiento |
Disponible para consumo inmediatamente después de la entrega |
Oculto durante un periodo de retraso especificado antes de estar disponible |
|
Configuración |
Comportamiento predeterminado cuando no se establece DelaySeconds por mensaje |
Establezca DelaySeconds en la solicitud SendMessage |
Un mensaje diferido utiliza un retraso por mensaje que se define al momento del envío. Una cola diferida aplica un retraso global a todos los mensajes entrantes. Ambos usan DelaySeconds, pero en ámbitos distintos.
ID de mensaje frente a identificador de recepción
|
Propiedad |
ID de mensaje |
Identificador de recepción |
|
Se genera cuando |
Se envía un mensaje a una cola |
Se consume un mensaje de una cola |
|
Unicidad |
Único dentro de una cola, no entre colas distintas |
Único por cada operación de consumo |
|
Vigencia |
Permanente e inmutable |
Temporal; caduca cuando cambia el estado del mensaje |
|
Uso principal |
Rastrear y verificar datos |
Eliminar un mensaje consumido o modificar su VisibilityTimeout |
|
Reutilización |
Válido durante toda la vigencia del mensaje |
De un solo uso; consuma el mensaje nuevamente para obtener un nuevo identificador |
Para eliminar un mensaje, utilice su identificador de recepción, no su ID de mensaje.
Estado del mensaje
Cada mensaje pasa por los siguientes estados:
|
Estado |
Descripción |
|
Active |
Disponible para consumo. Solo pueden consumirse los mensajes en este estado. |
|
Inactive |
Consumido y oculto temporalmente durante la duración de VisibilityTimeout. |
|
Delayed |
En espera de que expire el periodo de DelaySeconds antes de pasar a Active. |
|
Deleted |
Eliminado explícitamente por un consumidor mediante su identificador de recepción. |
|
Expired |
Superó MessageRetentionPeriod y se recicló automáticamente. |
Transiciones de estado
Mensaje estándar en una cola estándar
El mensaje llega a la cola con estado Active.
Un consumidor recibe el mensaje. El estado cambia a Inactive durante el periodo de VisibilityTimeout.
-
Son posibles dos resultados:
El consumidor elimina el mensaje dentro del periodo de VisibilityTimeout. El estado cambia a Deleted.
El periodo de VisibilityTimeout expira sin que se elimine el mensaje. El estado vuelve a Active y el mensaje queda disponible para consumo nuevamente.
Mensaje estándar en una cola diferida
El mensaje llega a la cola con estado Delayed.
Una vez que expira el periodo de DelaySeconds, el estado cambia a Active.
A partir de este punto, el mensaje sigue las mismas transiciones que un mensaje estándar en una cola estándar.
Mensaje diferido (retraso por mensaje)
El mensaje se envía con un valor de DelaySeconds por mensaje. El estado inicial es Delayed.
Una vez que expira el periodo de DelaySeconds, el estado cambia a Active.
A partir de este punto, el mensaje sigue las mismas transiciones que un mensaje estándar en una cola estándar.
Caducidad del mensaje
Si un mensaje no se elimina antes de que expire su MessageRetentionPeriod, el estado cambia a Expired independientemente de su estado actual. Los mensajes caducados se reciclan automáticamente.
Diagrama de transiciones de estado

Diagrama del ciclo de vida del mensaje
