Conectores

Utilização do conector Kafka do Couchbase para ingestão de dados

O pO objetivo é muito simples: no mundo das tecnologias díspares em que uma não funciona ou não se integra bem à outra, o Couchbase e o Confluent Kafka são produtos incríveis e extremamente complementares entre si. O Couchbase é um banco de dados NoSQL JSON distribuído e linearmente dimensionável. Seu principal caso de uso é para qualquer aplicativo/serviço da Web que exija um único dígito ms latência de resposta de leitura/gravação/atualização. Ele pode ser usado como sistema de registro (SoR) ou camada de cache para dados transitórios de mutação rápida ou descarregar o Db2/Oracle/SQL Server etc. para que os serviços downstream possam consumir dados do Couchbase.

CO Confluent Kafka é uma plataforma completa de streaming distribuído que também é linearmente dimensionável e capaz de lidar com trilhões de eventos em um dia. A Confluent Platform facilita a criação de pipelines de dados em tempo real e aplicativos de streaming, integrando dados de várias fontes e locais em uma única plataforma central de streaming de eventos para sua empresa.

Nesta postagem do blog, abordaremos como podemos mover dados do Couchbase e enviá-los para um tópico do Confluent kafka como evento de replicação.

O conector do Couchbase Kafka transfere documentos do Couchbase de forma eficiente e confiável usando o protocolo de replicação interno do Couchbase, DCP. Cada alteração ou exclusão do documento gera um evento de replicação, que é enviado para o tópico do Kafka configurado.

O conector Kafka pode ser usado para mover dados para fora do Couchbase e mover dados do Kafka para o Couchbase usando o conector sink. Para este blog, configuraremos e usaremos o conector de origem.

Em alto nível, o diagrama de arquitetura tem a seguinte aparência

Pré-requisitos

Cluster do Couchbase com a versão 5.X ou superior. Baixar o Couchbase aqui

Conector kafka do Couchbase. Baixar o conector kafka do Couchbase aqui

Confluent Kafka. Baixar o Confluent Kafka aqui

A configuração do cluster do Couchbase está fora do escopo desta postagem do blog. No entanto, discutiremos a configuração do Confluent kafka e do conector kafka do Couchbase para mover dados para fora do Couchbase.

Configuração do Confluent Kafka

Descompacte o pacote baixado acima em uma VM/pod. Para fins deste blog, implantei um pod do Ubuntu em um cluster do Kubernetes em execução no GKE.

Antes de instalar o confluent kafka, é necessário que os computadores tenham a versão java 8.

Instalar/iniciar o kafka

O kafka tem os seguintes processos, que devem estar todos ativos.

O pod que executa o confluent kafka pode ser exposto por meio do serviço NodePort à máquina/laptop local. O arquivo do pod do aplicativo é aqui. O arquivo yaml do serviço é aqui

Encaminhar o serviço para a porta local 9021

Acesse a URL: http://localhost:9021

Acesse a interface do usuário do Confluent Kafka

Configuração do conector Kafka do Couchbase

Descompacte o pacote baixado acima

Editar arquivo quickstart-couchbase-source.properties com (pelo menos) as seguintes informações

Cadeia de conexão do cluster

nome do bucket e credenciais de acesso ao bucket

Observação: Insira as credenciais do bucket para o qual você deseja mover os dados. No meu exemplo, estou usando o bucket travel-sample, com as credenciais de usuário do bucket.

Exportar a variável CONFLUENT_HOME

Iniciar o conector kafka

Quando o conector é iniciado, ele cria um tópico do kafka com o nome cb-topic e podemos ver todos os documentos do Couchbase amostra de viagem o balde é transferido para o tópico do kafka cb-topic como eventos

Eventos no tópico do kafka cb-topic

Conclusão

Em questão de minutos, é possível integrar o Couchbase e o Confluent Kafka. A facilidade de uso, a implementação e a capacidade de suporte são fatores fundamentais no uso da tecnologia. Nesta postagem do blog, vimos que é possível mover facilmente os dados do Couchbase para um tópico do Kafka. Quando os dados estiverem no tópico do Kafka, usando o KSQL, será possível criar aplicativos de processamento de fluxo em tempo real que atendam às necessidades dos negócios.

Referências:

  1. https://docs.confluent.io/current/quickstart/ce-quickstart.html#ce-quickstart
  2. https://docs.couchbase.com/kafka-connector/3.4/quickstart.html
  3. https://docs.couchbase.com/kafka-connector/3.4/source-configuration-options.html

 

 

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Ram Dhakne

Ram Dhakne é consultor de soluções - Oeste dos EUA na Couchbase. Atualmente, ele ajuda clientes corporativos em sua jornada de inovações digitais e os ajuda a adotar tecnologias NoSQL. Seus interesses atuais são executar aplicativos persistentes como o servidor NoSQL Couchbase em clusters Kubernetes executados em AKS, GKE, ACS e OpenShift, protegendo de ponta a ponta no Kubernetes. Em sua vida pregressa, trabalhou em plataformas IaaS (AWS, GCP, Azure e nuvens privadas), produtos-alvo de backup corporativo e aplicativos de backup.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.