A estrutura do Apache Kafka e do Kafka Connect

Este tópico descreve os conceitos básicos da estrutura do Apache Kafka e do Kafka Connect.

O software Apache Kafka usa um modelo de publicação e assinatura para escrever e gravar fluxos de registros, semelhante a uma fila de mensagens ou sistema de mensagens empresariais. O Kafka permite que os processos leiam e gravem mensagens de forma assíncrona. Um assinante não precisa estar conectado diretamente a um editor. Uma editora pode colocar uma mensagem na fila no Kafka para que o assinante a receba mais tarde.

Um aplicativo publica mensagens para um tópico, e um aplicativo assina um tópico para receber essas mensagens.

O Kafka Connect é uma estrutura para conectar o Kafka a sistemas externos, incluindo bancos de dados. Um cluster Kafka Connect é um cluster separado do cluster Kafka. O cluster Kafka Connect oferece suporte para executar e dimensionar conectores (componentes que permitem a leitura e/ou gravação em sistemas externos).

O Kafka Connect pode ser usado com dois tipos de conectores:

  • Conectores de origem: importe dados de sistemas externos para tópicos do Kafka.

  • Conectores do tipo coletor: exporte dados de tópicos do Kafka para sistemas externos.

O conector Snowflake de alto desempenho para Kafka é um conector do tipo coletor que lê dados de tópicos do Kafka e os carrega nas tabelas do Snowflake.

O Kafka Connect resolve questões operacionais comuns, como:

  • Escalabilidade: o Kafka Connect pode ser dimensionado horizontalmente adicionando mais nós de trabalho ao cluster.

  • Tolerância a falhas: se um nó de trabalhador falhar, o Kafka Connect redistribui automaticamente o trabalho para outros nós disponíveis.

  • Gerenciamento de deslocamento: o Kafka Connect rastreia quais registros foram processados, garantindo que os dados não sejam perdidos ou duplicados em caso de falhas.

  • Gerenciamento de configuração: os conectores podem ser configurados e gerenciados por meio de uma API REST, facilitando a implantação e o monitoramento de pipelines de dados.