O Kafka Connect é a ferramenta preferida para integração de dados para desenvolvedores do Kafka. Ele oferece uma estrutura para conectar o Kafka a sistemas externos, como bancos de dados, filas de mensagens e sistemas de arquivos.
O Kafka Connect oferece um conjunto selecionado de plug-ins de conector integrados, testados e mantidos pelo Google Cloud. Esses plug-ins de conector são corrigidos e atualizados automaticamente, simplificando a manutenção e garantindo a compatibilidade. Google Cloud também oferece monitoramento e geração de registros integrados para manter a integridade dos seus pipelines.
As APIs do Kafka Connect são oferecidas como parte do serviço gerenciado do Google Cloud para Apache Kafka. Essas APIs podem ser acessadas por managedkafka.googleapis.com e são
integradas aoconsole e às bibliotecas de cliente. Google Cloud Para gerenciar o Kafka
Connect, use o Google Cloud console, a CLI gcloud, a
API Managed Kafka, as bibliotecas de cliente do Cloud ou o Terraform.
Casos de uso do Kafka Connect
O Kafka Connect oferece suporte à integração de dados entre o cluster do serviço gerenciado para Apache Kafka e vários outros sistemas. Confira alguns casos de uso importantes:
Migre suas implantações do Kafka para o serviço gerenciado para Apache Kafka.
Replique o cluster do serviço gerenciado para Apache Kafka em outra região para recuperação de desastres.
Faça streaming de dados do serviço gerenciado para Apache Kafka para o BigQuery, o Cloud Storage e o Pub/Sub.
Clusters do Connect
Um cluster do Connect é uma implantação distribuída do Kafka Connect com plug-ins e configurações de conector pré-empacotados. Cada cluster do Connect está associado a um cluster principal do serviço gerenciado para Apache Kafka. Esse cluster principal armazena o estado dos conectores em execução no cluster do Connect.
Geralmente, o cluster principal do serviço gerenciado para Apache Kafka também serve como destino para todos os conectores de origem e como origem para todos os conectores de coletor em execução no cluster do Connect associado.
Um único cluster do serviço gerenciado para Apache Kafka pode ter vários clusters do Connect. Se estiver executando o MirrorMaker 2.0, um cluster do Connect poderá se conectar a clusters não principais do serviço gerenciado para Apache Kafka ou clusters do Kafka autogerenciados para ler ou gravar dados de tópicos. Esse processo permite a replicação de tópicos entre clusters diferentes.
Do ponto de vista do modelo de recursos, um cluster do Connect é um recurso separado de um cluster do serviço gerenciado para Apache Kafka.
Suponha que você tenha um cluster do Serviço Gerenciado para Apache Kafka em que armazena dados de tráfego do site. Você quer fazer streaming desses dados para o BigQuery para análise. É possível criar um cluster do Connect e usar um conector de coletor do BigQuery para mover os dados dos tópicos do Kafka para o BigQuery. Esse cluster do Connect está associado ao cluster do serviço gerenciado para Apache Kafka como cluster principal.
Conectores
Os conectores são os componentes de software que transferem dados entre o cluster do Kafka e outros sistemas.
Um conector de origem grava dados de uma origem em um cluster do serviço gerenciado para Apache Kafka.
Um conector de coletor grava dados de um cluster do serviço gerenciado para Apache Kafka em um coletor.
Um conector é implantado, configurado e gerenciado no cluster do Connect. Ele pode ser iniciado, interrompido, pausado, reiniciado e a configuração dele pode ser atualizada.
Para saber mais sobre os tipos de conector que o serviço gerenciado para Apache Kafka oferece suporte, consulte Visão geral dos conectores.
Gerenciar o Kafka Connect
Com o Kafka Connect, você pode se concentrar na implantação de conectores, enquanto o serviço gerenciado para Apache Kafka processa a infraestrutura subjacente e as complexidades operacionais.
O serviço do Kafka Connect automatiza o seguinte:
Provisionamento de workers do Kafka Connect: quando você cria um cluster do Connect cluster, o serviço do Kafka Connect provisiona automaticamente um cluster de workers no Kubernetes.
Rede: o serviço do Kafka Connect configura a rede para permitir a comunicação entre os workers, os agentes do serviço gerenciado para Apache Kafka e os sistemas externos. Em alguns casos, talvez seja necessário fazer algumas mudanças nas configurações de rede atuais.
Resiliência zonal: o serviço do Kafka Connect distribui workers em um mínimo de três zonas, garantindo que o processamento de dados possa continuar em caso de interrupção zonal.
Autenticação: o serviço do Kafka Connect também configura a autenticação com agentes do Kafka, garantindo conexões seguras.
Implementações e upgrades: o serviço do Kafka Connect gerencia mudanças na configuração do worker , upgrades de versão e patches de segurança, garantindo que as implantações estejam sempre atualizadas.
No serviço do Kafka Connect, é possível realizar as seguintes configurações:
Restrições de capacidade e rede: defina limites de recursos e configurações de rede para otimizar o desempenho e o custo.
Monitoramento e geração de registros: acesse registros e métricas dos seus conectores para monitorar o desempenho e resolver problemas.
Gerenciamento do ciclo de vida do conector: pause, retome, reinicie ou interrompa os conectores conforme necessário para gerenciar seus pipelines de dados.
Limitações
O cluster principal do Kafka precisa ser um cluster do serviço gerenciado para Apache Kafka. O cluster principal é aquele em que o cluster do Kafka Connect grava os metadados.
Não é possível fazer upload de plug-ins de conector personalizados para o cluster do Kafka Connect.
O serviço não oferece suporte à validação em relação a um esquema remoto usando o Schema Registry.