Vemos que un número significativo de clientes aprovecha la integración de Couchbase con Apache Kafka utilizando el plugin Couchbase Kafka connector para transmitir datos de forma fiable desde y hacia Apache Kafka a escala.

Apache Kafka es una plataforma de código abierto para crear aplicaciones y canalizaciones de datos en tiempo real. Sin embargo, necesita experiencia en la administración de la infraestructura de Apache Kafka para diseñarla, operarla y administrarla por su cuenta. Amazon Managed Streaming para Apache Kafka (Amazon MSK) es un servicio totalmente gestionado y de alta disponibilidad que facilita la creación y ejecución de aplicaciones que utilizan Apache Kafka. 

Amazon MSK soporta la integración con Couchbase con la función Amazon MSK Connect y el complemento del conector Couchbase Kafka. Con esta característica, puede implementar fácilmente el conector de Couchbase y escalarlo para ajustarlo a los cambios de carga.

En esta entrada del blog, vamos a ir a través de la configuración de clúster de Amazon MSK y utilizar Couchbase Kafka Connector como "fregadero" y "fuente". 

Paso 1: Clúster Couchbase Capella

Paso 2: Clúster Amazon MSK y cliente Amazon EC2

Uso de AWS CloudFormation

Para empezar fácilmente podemos utilizar Plantilla de CloudFormation para Streaming Data Solutions para MSK que despliega un clúster de Amazon MSK y un cliente de Amazon EC2.

    • Conéctese al KafkaClient utilizando la opción Session Manager

    • Instalar Git y Apache Maven de la KafkaClient instancia

    • Crear un tema de origen y un tema de destino de muestra en el clúster MSK para 

    • Abrir el expediente src/main/java/com/couchbase/connect/kafka/example/JsonProducerExample.java y actualice el archivo fuente Java en la línea 38 con la extensión Broker de clústeres Kafka punto de conexión

Paso 3: Configurar el plugin MSK Connect

    • Descargar el Plugin Couchbase Kafka Connect ZIP
    • Sube el archivo ZIP a un bucket S3 al que tengas acceso
    • Abra el Consola Amazon MSK. En el panel izquierdo, expanda MSK Connectseleccione Plugins personalizados.
    • Elija Crear plugin personalizado
    • Elija Examinar S3. En la lista de cubos, busque el cubo en el que cargó el archivo ZIP y, a continuación, en la lista de objetos, seleccione el archivo ZIP.
    • Entre en couchbase-kafka-connect como nombre del plugin personalizado y, a continuación, seleccione Crear plugin personalizado.

Paso 4: Crear el conector MSK para el sumidero

    • Usando el plugin personalizado, ahora podemos crear un conector de fregadero. Abra el Consola Amazon MSK. En el panel izquierdo, en MSK ConnectElige Conectores. Elija Crear conector.
    • Elija el plugin personalizado couchbase-kafka-connect y seleccione Siguiente
    • Entre en couchbase-sink-example como Nombre del conector
    • Seleccione el clúster MSK creado en el paso 2

Paso 5: Crear un conector MSK para la fuente

    • Usando el plugin personalizado, ahora podemos crear un conector de fregadero. Abra el Consola Amazon MSK. En el panel izquierdo, en MSK ConnectElige Conectores. Elija Crear conector.
    • Elija el plugin personalizado couchbase-kafka-connect y seleccione Siguiente.
    • Entre en couchbase-source-example como Nombre del conector
    • Seleccione el clúster MSK creado en el paso 2.

    • Obtenga la cadena de conexión de Zookeeper y la cadena de conexión de Kafka Cluster Bootstrap de la página "Ver información del cliente" de su clúster MSK y utilícelo en el siguiente comando:

    • Actualice la línea 38 del código fuente con la cadena de conexión MSK Cluster Bootstrap.

    • Seleccione Guardar reglas. Su cluster MSK aceptará ahora todo el tráfico del cliente que ha creado en el procedimiento anterior.

Configure Plugin MSK Connect 

Pasos para crear un cliente que se conecte con el clúster MSK

    • Crear cliente Kafka en una instancia de Amazon EC2 
    • Este cliente se utilizará para enviar mensajes a un tema couchbase-sink en el clúster MSK y para supervisar el tema couchbase-source en busca de mensajes que lleguen al clúster MSK.
    • Compruebe el grupo Estado en el Resumen del clúster página. El estado cambia de Creación de a Activo mientras Amazon MSK aprovisiona el clúster. Cuando el estado es Activopuede conectarse al clúster. Para obtener más información sobre el estado del clúster, consulte Estados agrupados.

Configurar el plugin Couchbase Kafka Connect

    • Descargar el Plugin Couchbase Kafka Connect ZIP
    • Sube el archivo ZIP a un bucket S3 al que tengas acceso
    • Abra el Consola Amazon MSK. En el panel izquierdo, expanda MSK Connectseleccione Plugins personalizados.
    • Elija Crear plugin personalizado
    • Elija Examinar S3. En la lista de cubos, busque el cubo en el que cargó el archivo ZIP y, a continuación, en la lista de objetos, seleccione el archivo ZIP.
    • Entre en couchbase-kafka-connect como nombre del plugin personalizado y, a continuación, seleccione Crear plugin personalizado.

Configurar Couchbase MSK Connector para operación sink

    • Crear rol IAM para MSK connect basado en el ejemplo de política.
    • Copie la siguiente configuración y péguela en el campo de configuración del conector.

Conclusión

Este post ilustra cómo puedes usar el "conector fuente" de Couchbase para publicar notificaciones de cambio de documentos desde Couchbase Capella a un tema de Kafka, así como un "conector sumidero" que se suscribe a uno o más temas de Kafka y escribe los mensajes en Couchbase Capella.

Autor

Publicado por Saurabh Shabhag, Arquitecto de soluciones para socios, AWS

Dejar una respuesta