Menu Docs
Página inicial do Docs
/
MongoDB Kafka Connector
/ /

Manipulador de captura de dados de alteração

Nesta página

  • Visão geral
  • Especificar um controlador de CDC
  • Manipuladores de CDC disponíveis
  • Crie seu próprio manipulador de CDC
  • Como usar seu manipulador de CDC

Saiba como replicar seus eventos de alterar captura de dados (CDC) com um conector de pia MongoDB Kafka. CDC é uma arquitetura de software que converte alterações em um armazenamento de dados em um fluxo de eventos CDC. Um evento CDC é uma mensagem que contém uma representação reproduzível de uma alteração realizada em um datastore. A replicação de dados é o processo de aplicar as alterações contidas em eventos CDC de um armazenamento de dados em um armazenamento de dados diferente para que as alterações ocorram em ambos os armazenamentos de dados.

Use um manipulador CDC para replicar eventos CDC armazenados em um tópico do Apache Kafka no MongoDB. Um manipulador CDC é um programa que converte eventos CDC de um produtor de eventos CDC específico em operações de gravação do MongoDB.

Um produtor de eventos CDC é um aplicativo que gera eventos CDC. Os produtores de eventos CDC podem ser armazenamentos de dados ou aplicativos que observam armazenamentos de dados e geram eventos CDC correspondentes a alterações nos armazenamentos de dados.

Observação

Os fluxos de alterações do MongoDB são um exemplo de arquitetura de CDC. Para saber mais sobre fluxos de alterações, consulte o guia do MongoDB Kafka Connector para Change Streams.

Se você quiser ver um tutorial que demonstre como replicar dados, consulte o tutorial Replicar dados com um manipulador de captura de dados de alteração.

Importante

CDC e pós-processadores

Não é possível aplicar um pós-processador aos dados de eventos do CDC. Se você tentar especificar ambos, o conector registrará um aviso.

Você pode especificar um manipulador CDC no conector da pia com a seguinte opção de configuração:

change.data.capture.handler=<cdc handler class>

Para saber mais, consulte alterar opções de configuração de captura de dados.

O conector de pia fornece manipuladores CDC para os seguintes produtores de eventos CDC:

  • MongoDB

  • Debezium

  • Replicação do Qlik

Clique nas seguintes abas para saber como configurar os manipuladores de CDC para os produtores de eventos anteriores:

O arquivo de propriedades a seguir configura um conector de pia para replicar os documentos do evento de alteração do MongoDB:

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your connection uri>
database=<your database>
collection=<your collection>
topics=<topic containing mongodb change event documents>
change.data.capture.handler=com.mongodb.kafka.connect.sink.cdc.mongodb.ChangeStreamHandler

Para visualizar o código-fonte do manipulador de CDC MongoDB, consulte o código-fonte do conector MongoDB Kafka.

Seu conector de coletor pode replicar eventos Debezium CDC originados nestes datastores:

  • MongoDB

  • Postgres

  • MySQL

Clique nas seguintes abas para ver como configurar o manipulador Debezium CDC para replicar eventos CDC de cada um dos armazenamentos de dados anteriores:

O arquivo de propriedades a seguir configura um conector de coletor para replicar eventos CDC do Debezium correspondentes a alterações em uma instância do MongoDB:

connector.class=com.mongodb.kafka.connect.sink.MongoSinkConnector
connection.uri=<your connection uri>
database=<your mongodb database>
collection=<your mongodb collection>
topics=<topic containing debezium cdc events>
change.data.capture.handler=com.mongodb.kafka.connect.sink.cdc.debezium.mongodb.ChangeStreamHandler

Observação

Se você estiver usando uma versão do Debezium CDC anterior a 2.0, defina o valor da propriedade change.data.capture.handler como com.mongodb.kafka.connect.sink.cdc.debezium.mongodb.MongoDbHandler.

Para visualizar o código-fonte do manipulador Debezium CDC, consulte o código-fonte do MongoDB Kafka Connector.

O arquivo de propriedades a seguir configura um conector de coletor para replicar eventos CDC do Debezium correspondentes a alterações em uma instância do Postgres:

connector.class=com.mongodb.kafka.connect.sink.MongoSinkConnector
connection.uri=<your connection uri>
database=<your mongodb database>
collection=<your mongodb collection>
topics=<topic containing debezium cdc events>
change.data.capture.handler=com.mongodb.kafka.connect.sink.cdc.debezium.rdbms.postgres.PostgresHandler

Para visualizar o código-fonte do manipulador Debezium CDC, consulte o código-fonte do MongoDB Kafka Connector.

O arquivo de propriedades a seguir configura um conector de destino para replicação de eventos de Change Data Capture (CDC) do Debezium, refletindo as alterações ocorridas em uma instância do MySQL:

connector.class=com.mongodb.kafka.connect.sink.MongoSinkConnector
connection.uri=<your connection uri>
database=<your mongodb database>
collection=<your mongodb collection>
topics=<topic containing debezium cdc events>
change.data.capture.handler=com.mongodb.kafka.connect.sink.cdc.debezium.rdbms.mysql.MysqlHandler

Para visualizar o código-fonte do manipulador Debezium CDC, consulte o código-fonte do MongoDB Kafka Connector.

Observação

Personalize o manipulador de CDC do Debezium

Se o manipulador Debezium CDC não conseguir replicar eventos CDC do seu armazenamento de dados, você poderá personalizar o manipulador estendendo a classe DebeziumCdcHandler. Para obter mais informações sobre manipuladores de CDC personalizados, consulte a seção Criar seu próprio manipulador de CDC deste guia.

Seu conector de coletor pode replicar eventos Qlik Replicate CDC originados nestes datastores:

  • OracleDB

  • MySQL

  • Postgres

O arquivo de propriedades a seguir configura um conector de coletor para replicar eventos CDC do Qlik Replicate:

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your connection uri>
database=<your database>
collection=<your collection>
topics=<topic containing qlik replicate cdc events>
change.data.capture.handler=com.mongodb.kafka.connect.sink.cdc.qlik.rdbms.RdbmsHandler

Para visualizar o código-fonte do manipulador de CDC Qlik Replicate, consulte o código-fonte do conector MongoDB Kafka.

Observação

Personalize o manipulador de CDC do Qlik Replicate

Se o manipulador do Qlik Replicate CDC não puder replicar eventos de CDC do seu armazenamento de dados, você poderá personalizar o manipulador estendendo a classe QlikCdcHandler. Para obter mais informações sobre manipuladores de CDC personalizados, consulte a seção Criar seu próprio manipulador de CDC deste guia.

Se nenhum dos manipuladores CDC pré-construídos se adequar ao seu caso de uso, você poderá criar o seu próprio. Seu manipulador CDC personalizado é uma classe Java que implementa a interface CdcHandler.

Para saber mais, consulte o código-fonte para a interface do CdcHandler.

Para exibir exemplos de implementações de manipuladores CDC, consulte o código-fonte dos manipuladores CDC precriados.

Para configurar o conector do coletor para usar o manipulador CDC personalizado, você deve executar as seguintes ações:

  1. Compile sua classe do manipulador CDC customizada em um arquivo JAR.

  2. Adicione o JAR compilado ao caminho de classe/plugin para seus trabalhadores do Kafka. Para obter mais informações sobre caminhos de plugin, consulte a documentação confluente.

    Observação

    O Kafka Connect carrega plugins isoladamente. Quando você implanta uma estratégia de gravação personalizada, o JAR do conector e o JAR do manipulador CDC devem estar no mesmo caminho. Seus caminhos devem ser semelhantes ao seguinte:

    <plugin.path>/mongo-kafka-connect/mongo-kafka-connect-all.jar
    <plugin.path>/mongo-kafka-connect/custom-CDC-handler.jar

    Para saber mais sobre plug-ins do Kafka Connect, consulte este guia do Confluent.

  3. Especifique sua classe personalizada na definição de configuração do change.data.capture.handler.

Para saber como compilar uma classe em um arquivo JAR, consulte este guia da Oracle .

Voltar

Error Handling