Cree más particiones y preserve los datos durante más tiempo en sus clústeres sin servidor de MSK


En abril de 2022, Amazon Managed Streaming para Apache Kafka (Amazon MSK) lanzó una nueva y emocionante capacidad, Amazon MSK sin servidor. Amazon MSK es un servicio totalmente administrado para Apache Kafka que facilita a los desarrolladores la creación y ejecución de aplicaciones escalables, seguras y de alta disponibilidad basadas en Apache Kafka. Con MSK Serverless, los desarrolladores pueden ejecutar sus aplicaciones sin tener que aprovisionar, configurar u optimizar sus clústeres de Apache Kafka. MSK Serverless aprovisiona y escala automáticamente los recursos informáticos y de almacenamiento para que los desarrolladores tengan acceso a la capacidad de transmisión y almacenamiento bajo demanda.

Durante el resto de 2022, el equipo recopiló los comentarios de los clientes y trabajó a partir de los requisitos de los clientes para agregar nuevas capacidades que hicieron que MSK Serverless fuera aún mejor. En esta publicación, discutimos algunas de estas mejoras en detalle y proporcionamos un caso de uso de ejemplo.

Cuota predeterminada más alta para particiones en un clúster

Los datos en Apache Kafka se escriben en temasque se puede particionar en varios archivos de registro denominados particiones. Cuando una aplicación productora escribe datos en un tema, se agrega a una de estas particiones. MSK Serverless se lanzó con una cuota máxima de 120 particiones por clúster. Sin embargo, nuestros clientes nos dijeron que necesitaban más particiones por clúster para una variedad de casos de uso, que van desde la captura de cambios de datos (CDC) hasta un procesamiento de datos en tiempo actual más rápido.

En diciembre de 2022, aumentamos la cuota predeterminada de particiones para clústeres sin servidor de MSK. Con el aumento de la cuota, puede crear hasta 2400 particiones por clúster. El aumento de 20 veces en la cantidad de particiones que puede tener por clúster le permite crear más temas por clúster y hacer que más aplicaciones consuman datos en paralelo. También puede implementar un mejor aislamiento de los datos con un management de acceso detallado. Más particiones son particularmente útiles para casos de uso de CDC donde cada tabla en la base de datos tiene cientos de claves únicas, cada una de las cuales está asignada a una partición única. Con más particiones, puede usar MSK Serverless para capturar cambios en bases de datos más grandes con muchas tablas y cientos de claves. Tenga en cuenta que el límite de 2400 solo se aplica a las particiones principales. MSK Serverless crea dos réplicas de cada partición de forma predeterminada sin costo adicional que no cuentan para este límite.

Duración ilimitada de la retención de datos

Los datos que genera para sus temas se pueden conservar en Apache Kafka durante un tiempo configurable, según el tiempo que necesite para acceder a los datos mediante las API de consumidor de Apache Kafka. Por lo normal, los clientes conservan los datos durante períodos cortos de tiempo, que van desde unas pocas horas hasta unos pocos días. Anteriormente, MSK Serverless limitaba la retención de datos a un máximo de 24 horas (1 día), lo que es suficiente para los casos de uso más populares de Apache Kafka. Sin embargo, algunos casos de uso requieren que los clientes conserven los datos durante más tiempo, como la retención de datos con fines de auditoría o el mantenimiento de SLA de recuperación de aplicaciones.

Ahora, con el aumento en la cuota de duración de la retención de datos, puede retener los datos durante el tiempo que necesite en sus clústeres sin servidor de MSK. La retención de datos más prolongada es particularmente útil para los casos de uso en los que sus aplicaciones de consumo necesitan un acceso rápido a datos más antiguos. Por ejemplo, en caso de falla, la aplicación puede necesitar acceder a los datos desde el inicio del tema para reconstruir su estado. Debido a que ahora puede conservar los datos en sus temas durante más tiempo, puede restaurar el estado de su aplicación accediendo a datos más antiguos mediante la API de consumidor de Kafka, lo que facilita la recuperación de tales fallas. Después de que la aplicación se recupere, puede configurar su aplicación para comenzar a consumir los datos desde la marca de tiempo más temprana que necesita para restablecer el estado de su aplicación. Tenga en cuenta que solo puede retener hasta 250 GB de datos por partición. Siempre que su partición no alcance los 250 GB de tamaño, puede conservarla todo el tiempo que desee. Puede crear más particiones si necesita más almacenamiento para un tema determinado.

Estas nuevas cuotas están disponibles en todas las regiones donde MSK Serverless está disponible. Para obtener más información, navegue hasta el MSK sin servidor pestaña en el Página de precios de Amazon MSK y elige el Región Menú desplegable.

También puede solicitar un aumento de la cuota máxima de particiones por contactando AWS Help si necesita más de 2400 particiones en un clúster. Las cuotas para más particiones y retención más prolongada se aplican tanto a los clústeres existentes como a los nuevos.

Primeros pasos: cree un tema con 1000 particiones y retención de 7 días

En esta sección, demostramos cómo crear un tema en MSK Serverless, especificar la cantidad de particiones y establecer su duración de retención.

Como requisito previo, debe tener un clúster sin servidor de MSK y un cliente Apache Kafka. Referirse a Introducción al uso de clústeres sin servidor de MSK para obtener instrucciones paso a paso.

  1. En su máquina cliente, acceda kafka_2.12-2.8.1/bin y ejecuta lo siguiente export comando (reemplace ‘my-endpoint’ con la cadena del servidor de arranque de su clúster sin servidor de MSK):
  2. Ejecute el siguiente comando para crear un tema llamado msk-sample-topic con 1.000 particiones y retención de datos de 7 días (604.800.000 milisegundos):
    <path-to-your-kafka-installation>/bin/kafka-topics.sh 
    --bootstrap-server $BS 
    --command-config shopper.properties 
    --create 
    --topic msk-sample-topic 
    --partitions 1000 
    --config retention.ms=604800000

  3. (Opcional) Ejecute el siguiente comando para ver los detalles del tema que creó en el paso 2 anterior:
    <path-to-your-kafka-installation>/bin/kafka-topics.sh 
    --bootstrap-server $BS
    --command-config shopper.properties 
    --topic msk-sample-topic 
    --describe | head -n1

    Verá el siguiente resultado:

    Matter: msk-sample-topic TopicId: Ze76LY9EQuiH0xOIenx_HA PartitionCount: 1000ReplicationFactor: 3    Configs: min.insync.replicas=2,section.bytes=134217728,retention.ms=604800000,message.format.model=2.8-IV2,unclean.chief.election.allow=false,retention.bytes=268435456000

Limpiar

Para evitar incurrir en cargos por los recursos de AWS creados en esta publicación, elimine el clúster sin servidor de MSK y el Nube informática elástica de Amazon (Amazon EC2) para su máquina cliente.

  1. En la consola de Amazon MSK, seleccione el clúster sin servidor de MSK que utilizó para esta solución.
  2. Escoger Comportamientoentonces escoge Borrar.
  3. En la consola de Amazon EC2, seleccione la instancia que creó para su máquina cliente Apache Kafka.
  4. Escoger Estado de la instanciaentonces escoge Terminar instancia.

Conclusión

Esta publicación demostró cómo crear un tema de clúster sin servidor de MSK con 1000 particiones y retención de 7 días. Con los nuevos aumentos de cuota, puede crear hasta 2400 particiones por clúster y conservar los datos todo el tiempo que necesite. Si tiene comentarios o comentarios, no dude en dejarlos en los comentarios.


Sobre el Autor

Usama Naseem es gerente sénior de productos para Amazon MSK y se enfoca en MSK Serverless. Anteriormente, ocupó cargos de gestión de productos para AWS Lambda y Amazon Contemporary. Le apasiona brindar a los clientes las herramientas para crear aplicaciones en tiempo actual en la nube. Fuera del trabajo, sigue bajo la ilusión de que algún día será el mejor jugador de squash del mundo.

Related Articles

Los 5 principios clave del paletizado robótico

La implementación de una solución de paletizado robótico utilizando un...

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Same Category

spot_img

Stay in touch!

Follow our Instagram