En este tutorial, aprenderá a configurar mensajería asíncrona con Amazon Simple Queue Service (Amazon SQS). Amazon SQS es el servicio de AWS que permite a los componentes de las aplicaciones comunicarse en la nube. Utilizará la consola de Amazon SQS para crear y configurar una cola de mensajes, enviar un mensaje, recibir y eliminar dicho mensaje y, a continuación, eliminar la cola.

Los servicios de AWS que utiliza en este tutorial están dentro de la capa gratuita de AWS.

El uso de la mensajería en AWS requiere una cuenta

Crear una cuenta gratuita

La capa gratuita de AWS incluye 1 000 000 de solicitudes de Amazon Simple Queue Service.

Consulte los detalles de la capa gratuita de AWS »

 


a. Cuando haga clic aquí, se abrirá la consola de administración de AWS en una ventana nueva del navegador para que pueda dejar abierta esta guía paso a paso.  Cuando la pantalla se cargue, escriba su nombre de usuario y contraseña para comenzar. A continuación, escriba cola en la barra de búsqueda y seleccione Servicio de cola simple para abrir la consola.

tmt_send-receive-async-messages_1a

(Haga clic para ampliar).

tmt_send-receive-async-messages_1a

b. Si aparece la página de inicio de la consola de SQS, tal y como se muestra en la imagen, haga clic en Empezar ahora. Si no ve esta página, vaya al siguiente paso.

tmt_send-receive-async-messages_1b

(Haga clic para ampliar).

tmt_send-receive-async-messages_1b

En este paso, podrá crear y configurar una cola de Amazon SQS. Una cola es un búfer de confianza y altamente escalable que almacena los mensajes que se transfieren entre aplicaciones distribuidas o microservicios. Las colas lo ayudan a desacoplar aplicaciones, conectar microservicios, configurar tareas en lote o almacenar las notificaciones.

Nuestro caso de uso para este tutorial va a simular el almacenamiento de pedidos entrantes desde una aplicación de E-commerce.


a. En primer lugar, crearemos una cola simple que almacene los pedidos que se colocan en el almacén. Introduzca Pedidos en el campo Nombre de cola.

tmt_send-receive-async-messages_2a

(Haga clic para ampliar).

tmt_send-receive-async-messages_2a

b. Para este tutorial, no necesitamos un orden estricto, por lo que no haremos ningún cambio en el tipo de cola. Deje seleccionada la opción Cola estándar.

tmt_send-receive-async-messages_2b

(Haga clic para ampliar).

tmt_send-receive-async-messages_2b

c. Puede configurar la cola para modificar parámetros como período de retención, tamaño máximo del mensaje y demoras de entrega. En este tutorial, dejaremos los parámetros predeterminados. Elija Crear cola rápida.

tmt_send-receive-async-messages_2c

(Haga clic para ampliar).

tmt_send-receive-async-messages_2c

d. La nueva cola se crea y se selecciona en la lista de colas.

tmt_send-receive-async-messages_2d

(Haga clic para ampliar).

tmt_send-receive-async-messages_2d

Una vez que haya creado la cola, está listo para recibir mensajes de la tienda online donde se muestran los detalles de cada pedido nuevo.


a. La cola ya está seleccionada en la lista. En Acciones de cola, seleccione Enviar un mensaje. Aparece el cuadro de diálogo Enviar un mensaje para pedidos.

tmt_send-receive-async-messages_3a

(Haga clic para ampliar).

tmt_send-receive-async-messages_3a

b. Aparece el cuadro de diálogo Enviar un mensaje para pedidos. En la pestaña Cuerpo del mensaje, introduzca el texto siguiente para representar un pedido de muestra:

1 x componente 29,99 USD
2 x cables del componente 4,99 USD

tmt_send-receive-async-messages_3b

(Haga clic para ampliar).

tmt_send-receive-async-messages_3b

c. Seleccione la pestaña Atributos de mensajes para agregar algunos metadatos opcionales sobre este mensaje para facilitar el procesamiento. Vamos a añadir un tipo de pedido para el pedido. Ingrese Tipo de pedido en el campo Nombre, Cadena en el campo Tipo y Online en el campo Valor. Haga clic en Añadir atributo.

tmt_send-receive-async-messages_3c

(Haga clic para ampliar).

tmt_send-receive-async-messages_3c

d. Para enviar el mensaje inmediatamente, haga clic en Enviar mensaje. La confirmación de que el mensaje se ha enviado aparece en el cuadro de diálogo Enviar un mensaje para pedidos. Haga clic en Cerrar.

tmt_send-receive-async-messages_3d

(Haga clic para ampliar).

tmt_send-receive-async-messages_3d

Después de enviar un mensaje a una cola, otra aplicación puede consumirlo de la cola y hacer algo con él. En este ejemplo, solo tiene que recuperar el mensaje para ver el pedido y luego eliminarlo.


a. Asegúrese de que su cola de Pedidos esté seleccionada en la lista de colas. A continuación, en Acciones de cola, seleccione Ver/eliminar mensajes.

tmt_send-receive-async-messages_4a

(Haga clic para ampliar).

tmt_send-receive-async-messages_4a

b. Aparece el cuadro de diálogo Ver/eliminar mensajes en pedidos. Cuando solicita un mensaje de una cola, no solicite un mensaje específico. En cambio, especifique el número máximo de mensajes (hasta 10) que quiere recuperar.

Haga clic en Comenzar a obtener mensajes para recuperar los mensajes de la cola.

tmt_send-receive-async-messages_4b

(Haga clic para ampliar).

tmt_send-receive-async-messages_4b

c. Una vez que el consumidor ha recibido y procesado un mensaje, se puede eliminar de la cola. Seleccione el mensaje que desea eliminar y luego seleccione Eliminar 1 mensaje.

tmt_send-receive-async-messages_4c

(Haga clic para ampliar).

tmt_send-receive-async-messages_4c

d. Aparece el cuadro de diálogo Eliminar mensajes. Marque la casilla junto al mensaje y haga clic en Sí, eliminar mensajes marcados. Se eliminará el mensaje seleccionado. Elija Cerrar.

tmt_send-receive-async-messages_4d

(Haga clic para ampliar).

tmt_send-receive-async-messages_4d

Cuando ya no necesite una cola de Amazon SQS, le recomendamos que la elimine.


a. En la lista de cola, seleccione la cola de Pedidos . A continuación, en Acciones de cola, seleccione Eliminar cola.

tmt_send-receive-async-messages_5a

(Haga clic para ampliar).

tmt_send-receive-async-messages_5a

b. Aparece el cuadro de diálogo Eliminar colas. Puede eliminar la cola aun si tiene mensajes. Elija Sí, eliminar colas. La cola se elimina.

tmt_send-receive-async-messages_5b

(Haga clic para ampliar).

tmt_send-receive-async-messages_5b

Creó su primera cola de mensajes en Amazon Simple Queue Service (Amazon SQS), envió mensajes a la cola, recuperó y eliminó mensajes y luego eliminó la cola. Ahora está listo para utilizar colas de Amazon SQS para almacenar y transferir datos entre componentes de aplicaciones distribuidas y microservicios.

Ahora que ha aprendido a utilizar Amazon Simple Queue Service para enviar y recibir mensajes, elija una de las siguientes opciones para perfeccionar tus habilidades de mensajería.

Más información

Obtenga información general de las capacidades, componentes y casos de uso de las colas de mensajes en Amazon Web Services (AWS). Visite la página web de Amazon SQS »

Descubra más

Explore los diferentes tipos de colas, las características principales y la arquitectura de Amazon Simple Queue Service. Lea la documentación »

Véalo en acción

Sepa de qué manera clientes como Capital One utilizan Amazon SQS y Amazon SNS para desacoplar y escalar aplicaciones. Vea el seminario web »

No