Compartir a través de


Migración de Apache Kafka a Azure

Azure HDInsight
Azure Cosmos DB
Azure Data Lake Storage
Azure Stream Analytics

Apache Kafka es un sistema de mensajería distribuida altamente escalable y tolerante a errores que implementa una arquitectura de publicación y suscripción. Se usa como una capa de ingesta en escenarios de streaming en tiempo real, como Internet de las cosas y sistemas de supervisión de registros en tiempo real. También se usa cada vez más como el almacén de datos inmutable de solo anexión en arquitecturas kappa.

Apache®, Apache Spark®, Apache Hadoop®, Apache HBase, Apache Storm®, Apache Sqoop®, Apache Kafka® y el logotipo de llama son marcas comerciales registradas o marcas comerciales de Apache Software Foundation en Estados Unidos y/o en otros países. El uso de estas marcas no implica ninguna aprobación de The Apache Software Foundation.

Enfoque de migración

En este artículo se presentan varias estrategias para migrar Kafka a Azure:

Este es un diagrama de flujo de decisión para decidir qué estrategia usar.

Diagrama que muestra un gráfico de decisiones para determinar una estrategia para migrar Kafka a Azure.

Migración de Kafka a IaaS de Azure

Para obtener una manera de migrar Kafka a IaaS de Azure, consulte Kafka en máquinas virtuales Ubuntu.

Migración de Kafka a Event Hubs para Kafka

Event Hubs proporciona un punto de conexión compatible con las API de consumidor y productor de Apache Kafka. La mayoría de las aplicaciones cliente de Apache Kafka pueden usar este punto de conexión, por lo que puede usarla como alternativa a ejecutar un clúster de Kafka en Azure. El punto de conexión admite clientes que usan las versiones de API 1.0 y versiones posteriores. Para más información sobre esta característica, consulte Introducción a Event Hubs para Apache Kafka.

Para obtener información sobre cómo migrar las aplicaciones de Apache Kafka para usar Event Hubs, consulte Migración a event Hubs para ecosistemas de Apache Kafka.

Características de Kafka y Event Hubs

Similitudes entre Kafka y Event Hubs Diferencias en Kafka y Event Hubs
Uso de particiones Plataforma como servicio frente a software
Las particiones son independientes Partición
Uso de un concepto de cursor del lado cliente APIs (Interfaz de Programación de Aplicaciones)
Se puede escalar a cargas de trabajo muy altas. Tiempo de ejecución
Conceptualmente casi idéntico Protocolos
Tampoco usa el protocolo HTTP para recibir Durabilidad
Seguridad
Limitaciones
Diferencias de creación de particiones
Kafka Event Hubs
El recuento de particiones administra la escala. Las unidades de rendimiento administran la escala.
Debe equilibrar la carga de particiones entre máquinas. El equilibrio de carga es automático.
Debe volver a particionar manualmente mediante división y combinación. No es necesario volver a particionar.
Diferencias de durabilidad
Kafka Event Hubs
Volátil de forma predeterminada Siempre duradero
Replicado después de recibir una confirmación (ACK) Replicado antes de enviar un ACK
Depende del disco y el cuórum Proporcionado por el almacenamiento
Diferencias de seguridad
Kafka Event Hubs
Capa de sockets seguros (SSL) y capa de autenticación y seguridad simple (SASL) Firma de acceso compartido (SAS) y SASL o PLAIN RFC 4618
Listas de control de acceso similares a archivos Política
Cifrado de transporte opcional Seguridad obligatoria de la capa de transporte (TLS)
Basado en el usuario Basado en tokens (ilimitado)
Otras diferencias
Kafka Event Hubs
No limita Admite la limitación
Usa un protocolo propietario Usa el protocolo AMQP 1.0
No usa HTTP para enviar Usa envío HTTP y envío por lotes

Migración de Kafka en HDInsight

Puede migrar Kafka a Kafka en HDInsight. Para más información, consulte ¿Qué es Apache Kafka en HDInsight?.

Uso de AKS con Kafka en HDInsight

Para más información, consulte Uso de AKS con Apache Kafka en HDInsight.

Uso de Kafka en AKS con el operador Strimzi

Para más información, consulte Implementación de un clúster de Kafka en AKS mediante Strimzi.

Migración de datos de Kafka

Puede usar la herramienta MirrorMaker de Kafka para replicar temas de un clúster a otro. Esta técnica puede ayudarle a migrar datos después de aprovisionar un clúster de Kafka. Para más información, consulte Uso de MirrorMaker para replicar temas de Apache Kafka con Kafka en HDInsight.

El siguiente enfoque de migración usa la creación de reflejo:

  1. Mueva primero a los productores. Al migrar los productores, se evita la producción de nuevos mensajes en el origen de Kafka.

  2. Una vez que kafka de origen consume todos los mensajes restantes, puede migrar los consumidores.

La implementación incluye los pasos siguientes:

  1. Cambie la dirección de conexión de Kafka del cliente productor para que apunte a la nueva instancia de Kafka.

  2. Reinicie los servicios empresariales del productor y envíe nuevos mensajes a la nueva instancia de Kafka.

  3. Espere a que se consuman los datos del origen de Kafka.

  4. Cambie la dirección de conexión de Kafka del cliente de consumidor para que apunte a la nueva instancia de Kafka.

  5. Reinicie los servicios empresariales de consumidor para consumir mensajes de la nueva instancia de Kafka.

  6. Compruebe que los consumidores obtienen correctamente los datos de la nueva instancia de Kafka.

Supervisión del clúster de Kafka

Puede usar los registros de Azure Monitor para analizar los registros que genera Apache Kafka en HDInsight. Para más información, consulte Análisis de registros para Apache Kafka en HDInsight.

Apache Kafka Streams API

La API de flujos de Kafka permite procesar datos casi en tiempo real y combinar y agregar datos. Para obtener más información, vea Presentación de flujos de Kafka: Procesamiento de flujos hecho simple- Confluent.

La asociación de Microsoft y Confluent

Confluent proporciona un servicio nativo en la nube para Apache Kafka. Microsoft y Confluent tienen una alianza estratégica. Para obtener más información, consulte los siguientes recursos:

Colaboradores

Microsoft mantiene este artículo. Los colaboradores siguientes escribieron este artículo.

Autores principales:

Otros colaboradores:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Introducción al producto de Azure

Referencia de productos de Azure

Otros