Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

129
Vistas
Control de versiones de datos de AWS Kinesis y Lambda

Creé un punto final de AWS Firehose (podría cambiar a Kinesis simple) que recibe registros de los productores y los guarda en un depósito S3 y una función lambda que consume datos, los procesa y guarda la salida en db.

Todo funciona bien. Ahora estoy planeando crear un flujo de puesta en escena y desarrollo para toda esta estructura. Cuando lanzo una nueva versión, no soy capaz de reemplazar productores completos al instante, por lo tanto, necesito mantener las versiones de producción anteriores hasta que no quede ningún productor, porque podría hacer cambios de protocolo importantes en las nuevas versiones.

No estoy seguro de cuál sería el mejor enfoque para crear un sistema versionable usando kinesis y lambda. ¿Debería copiar la estructura completa para las nuevas versiones (incluido el desarrollo y la puesta en escena) y hacer que los productores escriban en un flujo versionado específico?

¿O debería crear una función lambda media que inspeccione los paquetes (que contienen su información de versión) y envíe eventos a un s3 específico que tenga carpetas versionadas? Para que las funciones lambda consuman solo los datos que conocen. Esto me permitirá usar el soporte de versiones para las funciones lambda.

Aquí hay una imagen de estructura para la primera idea.

Flujos separados para cada versión

Aquí está la segunda estructura.

Caudal único común para todas las versiones

Me pregunto cuál será una mejor solución o hay mejores formas de lograr esto

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En primer lugar, Lambdas se puede activar directamente con Kinesis, sin necesidad de Kinesis Firehose o S3.

En segundo lugar, su pregunta realmente se reduce a: ¿necesita una canalización separada de Kinesis+Lambda por versión o no? Yo iría con la siguiente solución:

  • Un flujo de Kinesis para todas las versiones de datos.
  • Una función Lambda en esta secuencia. Maneja internamente diferentes versiones por separado. En términos generales, piense en varias comprobaciones if-else en el número de versión.

Las ventajas del enfoque anterior frente a una canalización de Kinesis+Lambda por versión:

  • El primero es operativamente más simple. En este último, deberá configurar una nueva canalización cada vez que se presente una nueva versión.
  • En cualquier momento, tendría una pequeña cantidad de versiones activas. Por lo tanto, algunas verificaciones if-else en el código deberían funcionar bien.

Por supuesto, mantenga separadas las canalizaciones de desarrollo y producción, para minimizar el radio de explosión del código de código incorrecto en el anterior.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda