Kafka
Descubra mais sobre o componente Kafka e saiba como utilizá-lo na Digibee Integration Platform.
O Kafka produz registros para os brokers Kafka configurados nele.
Parâmetros
Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Kafka Authentication Account
Se o servidor Kafka precisar de autenticação, será necessário criar uma conta tipo Basic para esse componente. Suportamos também autenticação via Kerberos.
N/A
String
Truststore
Caso seja necessário informar uma truststore para realizar o SSL Handshake utilizando certificados privados, deve-se criar uma conta do tipo Certificate Chain e informar os certificados concatenados. É opcional inserir a senha a ser cadastrada na criação da truststore, no campo password.
N/A
String
Keystore
Caso seja necessário informar uma keystore para realizar a autenticação SSL mútua, deve-se criar uma conta do tipo Certificate Chain, informar a cadeia completa com os certificados concatenados e a chave privada a ser utilizada para a autenticação SSL mútua. Caso exista uma chave privada, é necessário informá-la no campo password.
N/A
String
Brokers
Brokers do servidor (HOST: PORT) usados para o envio de registros. Para informar múltiplos HOSTS, você pode separá-los por vírgula. Exemplo: HOST1:PORT1,HOST2:PORT2,...,HOSTn:PORTn
N/A
String
Security Protocol
A forma que a conexão é estabelecida. É opcional utilizar um canal de segurança (SSL) e de autenticação (SASL). A utilização de ambos (SASL_SSL) também é possível.
SSL
String
Topic Name
Nome do tópico do Kafka.
{{ DEFAULT(message.topic, "new-topic") }}
String
Schema Registry URL
Se pelo menos uma das opções Headers By Avro, Payload As Avro e Partition Key As Avro estiver ativada, o campo será mostrado para configurar o Schema Registry's URL.
N/A
String
Schema Registry Account
Conta para autenticar com o Schema Registry.
N/A
String
Schema Registry Truststore
Se for necessário informar um truststore para fazer o SSL Handshake utilizando certificados privados, deve-se criar uma conta do tipo Certificate Chain e informar os certificados concatenados. É opcional informar a senha a ser cadastrada na criação do truststore, no campo password.
N/A
N/A
Schema Registry Keystore
Se for necessário informar um keystore para fazer a autenticação mútua SSL, deve-se criar uma conta do tipo Certificate Chain, informar a cadeia completa com os certificados concatenados e a chave privada a ser utilizada para a autenticação mútua SSL. Se houver chave privada, é necessário informá-la no campo password.
N/A
N/A
Headers
Conjunto de entradas chave-valor (key-value), contendo cabeçalhos a serem enviados na mensagem (campo opcional).
N/A
Key-value
Binary Headers
Se a opção estiver ativada, os valores dos cabeçalhos são considerados binários e são interpretados como uma string com a representação base64; do contrário, os valores dos cabeçalhos são interpretados como texto.
False
Booleano
Headers By Avro Schema
Se a opção estiver ativada, o componente validará os cabeçalhos com base em um esquema Avro antes de enviar os cabeçalhos.
False
Booleano
Headers Schema
Se a opção Headers By Avro Schema estiver ativada, será exibido o campo para definir os Headers Schemas a serem validados.
N/A
N/A
Headers Charset
Nome do código de caracteres para a codificação dos valores dos cabeçalhos (padrão UTF-8).
UTF-8
String
Payload
Payload que será despachado.
{{ message.$ }}
String
Payload As Avro
Se a opção estiver ativada, o componente enviará o payload no formato Avro.
False
Booleano
Payload Schema
Este campo fica disponível somente se a opção Payload As Avro estiver ativada e informa o Payload Schema a ser validado.
N/A
N/A
Request Timeout
Configuração que controla o tempo máximo (em milissegundos) que o cliente aguarda pela resposta de uma solicitação. Se a resposta não for recebida antes que o tempo limite se esgote, a solicitação é reenviada automaticamente. Do contrário, haverá uma falha se as tentativas se esgotarem.
60000
Inteiro
Retries
Se for estabelecido um valor diferente de 0 (zero), qualquer registro cujo envio falhar será reenviado. Esses registros podem ser reenviados com um provável erro transitório.
N/A
Inteiro
Metadata Timeout
Tempo máximo para o envio do registro ao Kafka.
5000
Inteiro
Key Strategy
Caso a opção Partition Key As Avro esteja ativada, o campo será exibido para configuração da estratégia de subject a ser utilizada para construir o subject name para as keys das mensagens.
N/A
String
Value Strategy
Caso a opção Payload as Avro esteja ativada, o campo será exibido para configuração da estratégia de subject a ser utilizada para construir o subject name para os values das mensagens.
N/A
String
Fail On Error
Se a opção estiver ativada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".
False
Booleano
Advanced Settings
Se a opção estiver ativada, você pode acessar as seguintes configurações:
False
Booleano
Kerberos Service Name
Valor definido na propriedade sasl.kerberos.service.name configurado no lado server do broker Kafka.
N/A
String
Partition Number
Especifica os números da partição para os quais o Kafka Trigger enviará mensagens. Caso essa propriedade não seja configurada, o servidor do Kafka ficará responsável por decidir para qual partição do tópico a mensagem será enviada.
N/A
Inteiro
Partition Key
Uma chave de partição pode ser especificada para indicar a partição de destino da mensagem. Caso esse campo não seja preenchido, um particionador baseado em hashing é utilizado para determinar a id de partição dada a chave.
N/A
String
Partition Key As Avro
Se a opção estiver ativada, o componente fará o envio da chave de partição no formato Avro.
N/A
Booleano
Partition Key Schema
Caso a opção Partition Key As Avro esteja ativada, o campo será exibido para que seja informado o Schema da chave de partição a ser validada.
N/A
String
Producer Client Name
Identificador de origem dos pedidos (opcional).
N/A
String
ACKS
Configuração para reconhecer o recebimento da mensagem pelo broker Kafka (valores: 0, 1 ou ALL).
1
Inteiro
Use Dynamic Account
Quando a opção estiver ativada, o componente irá usar a conta dinamicamente. Defina o nome da conta para permitir um uso flexível. Quando estiver desativada, a conta será usada estaticamente.
False
Booleano
Account Name
Nome da conta Basic que é gerada dinamicamente através do componente Store Account.
N/A
String
Scoped
Quando a opção estiver ativada, a conta armazenada é isolada para outro sub-processo. Nesse caso, os sub-processos verão sua própria versão dos dados da conta armazenada.
N/A
Booleano
Truststore Account Name
Nome da conta truststore que é gerada dinamicamente através do componente Store Account. Contas suportadas: Certificate Chain.
N/A
String
Keystore Account Name
Nome da conta keystore que é gerada dinamicamente através do componente Store Account. Contas suportadas: Certificate Chain.
N/A
String
Account Name for Registry
Nome da conta para registro que é gerada dinamicamente através do componente Store Account. Contas suportadas: Basic ou Oauth Bearer Token.
N/A
String
Truststore Account Name for Registry
Nome da conta truststore para registro que é gerada dinamicamente através do componente Store Account. Contas suportadas: Certificate Chain.
N/A
String
Keystore Account Name for Registry
Nome da conta keystore para registro que é gerada dinamicamente através do componente Store Account. Contas suportadas: Certificate Chain.
N/A
String
Informações importantes:
Devido a necessidade de uma grande alocação de memória, não suportamos os seguintes tipos de Security Protocol: PLAINTEXT e SASL_PLAINTEXT. Para mais informações, visite a documentação externa do Apache Kafka.
As mensagens trafegadas no formato Avro deverão ser do tamanho máximo suportado por Pipelines SMALL, MEDIUM ou LARGE. O componente não suporta cenários extremos de leitura de dezenas de mega/giga/tera/peta bytes. O suporte para o formato Avro está na fase Beta.
Atualmente, os parâmetros Use Dynamic Account, Account Name, Scoped, Truststore Account Name, Keystore Account Name,Account Name for Registry, Truststore Account Name for Registry e Keystore Account Name for Registry podem ser usados apenas no Pipeline Engine v2 e estão disponíveis em fase Beta Restrito. Para saber mais, leia o artigo Progama Beta.
Exemplo de resposta de requisição ao Kafka
message: mensagem enviada.
offset: offset do registro no tópico/partição.
timestamp: horário/data do registro no tópico/partição.
serializedKeySize: tamanho da chave serializada, com valor descomprimido em bytes. Se o valor é nulo, o tamanho devolvido é -1.
serializedValueSize: tamanho do valor serializado, com valor descomprimido em bytes. Se o valor é nulo, o tamanho devolvido é -1.
topic: nome do tópico.
partition: partição para onde o registro foi enviado.
success: se "verdadeiro", o envio foi realizado com sucesso.
Fluxo de Mensagens
Entrada
O componente aceita qualquer mensagem de entrada e pode fazer uso dela através de Double Braces.
Saída
O componente não altera nenhuma informação da mensagem de entrada. Portanto, ela é retornada para o componente seguinte ou é utilizada como resposta final se este componente for o último passo do pipeline.
Kafka em Ação
Autenticação utilizando SSL ou SASL
Isso permite a autenticação dos seus produtores e clientes ao cluster do Kafka (verificação de identidade). Essa também é uma forma segura de permitir que os seus clientes confirmem a identidade.
Autenticação usando Kerberos
Para utilizar a autenticação via Kerberos no Kafka é necessário ter cadastrado o arquivo de configuração “krb5.conf” no parâmetro de Realm. Caso não tenha feito isso, acione o nosso suporte via chat. Após concluir esse passo, basta configurar corretamente uma conta do tipo Kerberos e utilizá-la no componente.
Atualizado