es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo tener replicación multi-región para mensajes de SQS?

Tengo una arquitectura de región múltiple Activo-Pasivo en AWS. Tenemos réplica entre regiones para nuestra RDS y DynamoDB; sin embargo, no estoy seguro de qué hacer con nuestros mensajes en SQS cuando hagamos un failover. Según la documentación, no existe una función incorporada para la replicación entre regiones.

Según mi investigación, las 2 soluciones son las siguientes:
1. Utilizar la difusión (fan-out) con SNS para que los mensajes se envíen a ambas regiones.
2. Hacer que las aplicaciones de la región secundaria obtengan sus mensajes de las colas de SQS de la región primaria.

El patrón de difusión (fan-out) no funcionará para nosotros porque necesitamos encontrar una manera de determinar si el mensaje ya ha sido procesado por la región primaria. Solo tenemos una región activa a la vez.

Esperaba encontrar una solución más elegante que permitiera a las aplicaciones de la región secundaria acceder a los mensajes de la región primaria. Esto es más costoso e introduce un poco más de complejidad.

¿Existe una mejor manera de lograr que la región secundaria continúe procesando mensajes desde donde la región primaria lo dejó?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Si el enfoque de distribución con SNS no es una solución viable, una forma de lograr la tarea sería utilizar la cola SQS de la región principal como la fuente de verdad para los mensajes. Las aplicaciones en la región secundaria pueden suscribirse al tema SNS de la región principal para recibir notificaciones cuando llegue un nuevo mensaje a la cola SQS de la región principal. Una vez que la aplicación en la región secundaria recibe la notificación, puede obtener el mensaje de la cola SQS de la región principal, procesarlo y eliminarlo de la cola. Este enfoque garantiza que cada mensaje se procese solo una vez y elimina la necesidad de replicar toda la cola SQS en la región secundaria, lo cual puede ser costoso y complejo de gestionar.

    Otro enfoque sería utilizar una solución de terceros que proporcione replicación entre regiones para colas SQS. Algunas soluciones de terceros ofrecen conmutación por error automática y equilibrio regional, lo cual puede simplificar la gestión de la replicación de colas SQS entre regiones. Sin embargo, estas soluciones tienen un costo adicional y pueden requerir una configuración y preparación adicionales.

    En general, no hay una única solución “mejor” para la replicación de colas SQS entre regiones, y el enfoque óptimo dependerá de las necesidades y restricciones específicas del sistema. Es esencial evaluar los pros y los contras de cada opción y elegir la que mejor se adapte a sus requisitos y presupuesto.

Comments are closed.