Protocolos de API
O Zerobus Ingest expõe um endpoint com vários protocolos de API: gRPC (por meio dos SDKs), REST, OpenTelemetry (OTLP) e APIs compatíveis com Kafka. Todos eles gravam diretamente nas tabelas Delta do Unity Catalog, portanto, você escolhe o protocolo que melhor se adapta a cada produtor.

Qual protocolo você deve usar?
Protocolo | Melhor para | Por que |
|---|---|---|
gRPC (SDKs) | Produtores de transmissão de alto volume: captura de dados de alterações (CDC), clickstream, encaminhadores de logs e eventos. | Conexões persistentes oferecem o maior throughput sustentado e preservam a ordenação por transmissão. Disponível em Python, Java, Rust, Go, TypeScript e (em Beta) C++ e C# / .NET. Consulte Escrever um cliente. |
REST | Grandes frotas de clientes leves ou "tagarelas", como dispositivos de borda e IoT que relatam com pouca frequência. | Stateless: cada solicitação é independente, portanto, os clientes não mantêm uma conexão aberta. Mais simples para dispositivos que enviam dados ocasionalmente. Veja o exemplo de REST. |
OpenTelemetry (OTLP) | Pipelines de observabilidade que já emitem rastreamentos, logs e métricas. | Aponte seus SDKs ou coletores OpenTelemetry existentes para o endpoint sem integração personalizada. Consulte Ingest OpenTelemetry data with Zerobus Ingest. |
APIs compatíveis com Kafka (Beta) | Produtores que já utilizam o protocolo Kafka, ou ferramentas que emitem para o Kafka, quando você deseja esses dados no Delta com o mínimo de alteração de código. | Reutilize um produtor Kafka existente sem um SDK do Databricks. Aponte-o para o endpoint e produza para um tópico nomeado de acordo com sua tabela de destino. Consulte Usar APIs compatíveis com Kafka com o Zerobus Ingest. |
gRPC com os SDKs
Os SDKs do Zerobus envolvem uma conexão gRPC bidirecional e persistente chamada de transmissão. Como a conexão permanece aberta, o gRPC alcança o maior throughput sustentado e é o caminho recomendado para ingestão contínua de alto volume. Cada transmissão aberta é uma conexão de longa duração, portanto, o throughput de um cliente escala com o número de transmissões que ele abre.
Os SDKs lidam com o gerenciamento de conexão, acompanhamento de offset e recuperação para você, e estão disponíveis em Python, Java, Rust, Go, TypeScript e (em Beta) C++ e C# / .NET. Eles fornecem comportamento equivalente entre linguagens, portanto, escolha aquele que se adapta à sua aplicação. Via gRPC, os SDKs suportam formatos de registro JSON, protobuf e Apache Arrow. Consulte Tipos de mensagem.
Para escrever um cliente com os SDKs, incluindo um exemplo por linguagem para cada um, consulte Escrever um cliente.
REST
A interface REST é sem estado: cada solicitação é concluída por conta própria sem manter uma conexão aberta. Isso o torna uma opção ideal para grandes frotas de produtores leves ou intermitentes, por exemplo, dispositivos de ponta e IoT que relatam status com pouca frequência, onde manter uma conexão persistente por dispositivo seria impraticável.
A ingestão REST é regida por uma cota de taxa de solicitação (consulte cotas do Zerobus Ingest). Para um produtor de alto volume, os SDKs sobre gRPC sustentarão um throughput maior do que emitir muitas solicitações REST individuais. Reserve o REST para produtores que enviam com pouca frequência ou que não podem manter uma conexão persistente.
OpenTelemetry (OTLP)
O Zerobus Ingest inclui um endpoint nativo do protocolo OpenTelemetry. Se seus sistemas já produzem rastreamentos, logs e métricas do OpenTelemetry, você pode apontar seus exportadores ou coletores OTLP existentes para o Zerobus Ingest e gravar essa telemetria diretamente em tabelas Delta de sua propriedade, geralmente com apenas uma alteração de configuração. Consulte Ingerir dados do OpenTelemetry com o Zerobus Ingest.
APIs compatíveis com Kafka
Beta
As APIs compatíveis com Kafka estão em Beta.
O Zerobus Ingest oferece APIs de produtor compatíveis com Kafka, para que você possa ingerir dados com qualquer cliente produtor do Apache Kafka sem um SDK do Databricks. Você aponta um produtor Kafka existente para o endpoint e produz para um tópico nomeado de acordo com sua tabela de destino, e os registros são armazenados em uma tabela Delta do Unity Catalog. Esta é a melhor opção quando você já tem em execução um produtor Kafka, ou um coletor ou agente que emite para o Kafka, e deseja rotear esses dados para o Delta com o mínimo de alteração no código.
As APIs compatíveis com Kafka implementam o subconjunto do lado do produtor do protocolo Kafka e são somente para escrita: as APIs de consumidor, administrador e transacionais não estão disponíveis. Eles aceitam apenas registros JSON. O throughput é regido por uma cota de taxa de solicitação por workspace, em vez de conexões individuais. Para a cota específica, consulte Cotas do Zerobus Ingest. Para obter o maior throughput, confirmações por registro e recuperação automática, use um SDK do Zerobus sobre gRPC.
Para configuração, autenticação e um exemplo de produtor, consulte Use Kafka-compatible APIs with Zerobus Ingest.
Relacionado
- Tipos de mensagem: os formatos de registro disponíveis nesses protocolos.
- Use o Zerobus Ingest: Escreva um cliente usando os SDKs ou a API REST.
- Ingerir dados do OpenTelemetry com o Zerobus Ingest: ingerir dados do OpenTelemetry.
- Estágios de lançamento do Zerobus Ingest: estágios de lançamento para cada interface e formato de registro.
- Usar APIs compatíveis com Kafka com o Zerobus Ingest: use APIs de produtor compatíveis com Kafka.