Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
What is Amazon Simple Queue Service?
Con Amazon Simple Queue Service (Amazon SQS), se ofrece una cola alojada segura, duradera y disponible que le permite integrar y desacoplar sistemas y componentes de software distribuidos. Amazon SQS ofrece constructos comunes, como colas de mensajes fallidos y etiquetas de asignación de costos. Proporciona una API de servicios web genérica a la que puede acceder mediante cualquier lenguaje de programación compatible con el AWS SDK.
Beneficios de utilizar Amazon SQS
-
Seguridad: usted controla quién puede enviar mensajes a la cola de Amazon SQS o recibirlos de ella. Puede elegir entre transmitir datos confidenciales mediante la protección del contenido de los mensajes en las colas por medio del cifrado del servidor (SSE) administrado por Amazon SQS de forma predeterminada o mediante el uso de claves SSE personalizadas administradas en AWS Key Management Service (AWS KMS).
-
Durabilidad: para mantener seguros sus mensajes, Amazon SQS los almacena en varios servidores. Las colas estándar admiten la entrega de at-least-once mensajes y las colas FIFO admiten el procesamiento de mensajes exactamente una vez y el modo de alto rendimiento.
-
Disponibilidad: Amazon SQS utiliza una infraestructura redundante para proporcionar acceso con un alto grado de simultaneidad a los mensajes y alta disponibilidad para producir y consumir mensajes.
-
Escalabilidad: Amazon SQS puede procesar cada solicitud en búfer independientemente, con un escalado transparente para controlar cualquier aumento o pico de carga sin instrucciones de aprovisionamiento.
-
Fiabilidad: Amazon SQS bloquea sus mensajes durante el procesamiento, de forma que varios productores puedan enviar mensajes y varios consumidores puedan recibirlos al mismo tiempo.
-
Personalización: sus colas no tienen por qué ser exactamente iguales; por ejemplo, puede establecer un retraso predeterminado en una cola. Puede almacenar el contenido de los mensajes con un tamaño superior a 256 KB mediante Amazon Simple Storage Service (Amazon S3) o Amazon DynamoDB (donde Amazon SQS mantiene un puntero que señala al objeto de Amazon S3) o bien puede dividir los mensajes grandes en mensajes más pequeños.
Arquitectura de Amazon SQS básica
En esta sección se describen los componentes de un sistema de mensajería distribuida y se explica el ciclo de vida de un mensaje de Amazon SQS.
Colas distribuidas
Un sistema de mensajería distribuida consta de tres partes principales: los componentes del sistema distribuido, la cola (distribuida en los servidores Amazon SQS) y los mensajes de la cola.
En el siguiente escenario, el sistema tiene varios productores (componentes que envían mensajes a la cola) y consumidores (componentes que reciben mensajes de la cola). La cola (que contiene los mensajes A a E) almacena de forma redundante los mensajes en varios servidores de Amazon SQS.

Ciclo de vida del mensaje
En el escenario siguiente se describe el ciclo de vida de un mensaje de Amazon SQS en una cola, desde la creación hasta la eliminación.

Un productor (componente 1) envía el mensaje A a una cola y el mensaje se distribuye por los servidores de Amazon SQS de forma redundante.
Cuando un consumidor (componente 2) está preparado para procesar los mensajes, consume los mensajes de la cola y devuelve el mensaje A. Mientras se procesa, el mensaje A permanece en la cola y no se devuelve a las solicitudes de recepción posteriores durante el tiempo de espera de visibilidad.
El consumidor (componente 2) elimina el mensaje A de la cola para evitar que se reciba y procese de nuevo cuando caduque el tiempo de espera de visibilidad.
nota
Amazon SQS elimina automáticamente los mensajes que han estado en una cola durante más tiempo que el periodo máximo de retención de mensajes. El periodo de retención de mensajes predeterminado es de 4 días. Sin embargo, puede establecer el periodo de retención de un mensaje en un valor comprendido entre 60 y 1.209.600 segundos (14 días) mediante la acción SetQueueAttributes
.
Diferencias entre Amazon SQS, Amazon MQ y Amazon SNS
Amazon SQS, Amazon SNS y Amazon
Amazon SQS desacopla y escala los sistemas y componentes de software distribuidos como un servicio de colas. Por lo general, procesa los mensajes a través de un único suscriptor, lo que resulta ideal para flujos de trabajo en los que la prevención de orden y pérdidas es fundamental. Para una distribución más amplia, la integración de Amazon SQS con Amazon SNS permite un patrón de mensajería de distribución ramificada
Amazon SNS permite a los publicadores enviar mensajes a varios suscriptores a través de temas, que sirven como canales de comunicación. Los suscriptores reciben mensajes publicados mediante un tipo de punto de conexión compatible, como Amazon Data Firehose, Amazon SQS, Lambda, HTTP, correo electrónico, notificaciones push para dispositivos móviles y mensajes de texto a través del móvil (SMS). Este servicio es ideal para situaciones que requieren notificaciones inmediatas, como la participación de los usuarios en tiempo real o los sistemas de alarma. Para evitar la pérdida de mensajes cuando los suscriptores están desconectados, la integración de Amazon SNS con los mensajes en cola de Amazon SQS garantiza una entrega uniforme.
Amazon MQ es adecuado para las empresas que desean migrar desde agentes de mensajes tradicionales, ya que admite protocolos de mensajería estándar como AMQP y MQTT, junto con Apache ActiveMQ
En el siguiente gráfico se ofrece información general sobre los tipos de recursos de cada servicio:
Tipo de recurso | Amazon SNS | Amazon SQS | Amazon MQ |
---|---|---|---|
Síncrono | No | No | Sí |
Asíncrono | Sí | Sí | Sí |
Colas | No | Sí | Sí |
Mensajería de publicador y suscriptor | Sí | No | Sí |
Agentes de mensajes | No | No | Sí |
Se recomiendan Amazon SQS y Amazon SNS para aplicaciones nuevas que puedan beneficiarse de una escalabilidad prácticamente ilimitada y sencilla. APIs Por lo general, con sus precios, ofrecen soluciones más rentables para aplicaciones de gran volumen. pay-as-you-go Recomendamos Amazon MQ para migrar aplicaciones de los intermediarios de mensajes existentes que dependen de la compatibilidad con, como JMS, o protocolos APIs como el Protocolo avanzado de colas de mensajes (AMQP), el MQTT y el Protocolo simple de mensajes orientados al texto ( OpenWireSTOMP).