API-protocollen

Zerobus Ingest stelt één eindpunt bloot met verschillende API-protocollen: gRPC (via de SDK's), REST, OpenTelemetry (OTLP) en Kafka-compatibele API's. Ze schrijven allemaal direct in Unity Catalog Delta-tabellen, dus je kiest het protocol dat het beste bij elke producer past.

Zerobus Ingest-schaalarchitectuur: bronnen sturen Protocol Buffers (protobuf), JSON- en Arrow-records via de gRPC-, REST-, OpenTelemetry- en Kafka-compatibele API's, die via automatische schaling en taakverdeling doorstromen naar een horizontaal schaalbare pool van statusloze Zerobus-nodes, elk met een write-ahead-log en een Lakehouse-schrijver die records batchgewijs vastlegt in een door Unity Catalog beheerde Delta-tabel

Welk protocol moet je gebruiken?

Protocol Geschikt voor Waarom
gRPC (SDK's) Producenten met een hoog volume streaming: wijzigingsdata-opname, clickstream, log- en eventforwarders. Persistente verbindingen leveren de hoogste duurzame doorvoer en behouden de volgorde per stroom. Beschikbaar in Python, Java, Rust, Go, TypeScript en (in bèta) C++ en C# / .NET. Zie Schrijf een client.
REST Grote aantallen lichtgewicht of zeer communicatieve clientapparaten, zoals edge- en IoT-apparaten die slechts af en toe gegevens doorgeven. Stateless: elk verzoek staat op zichzelf, dus clients hebben geen open verbinding. Eenvoudiger voor apparaten die af en toe data verzenden. Zie het REST-voorbeeld.
OpenTelemetrie (OTLP) Observabiliteitspijplijnen die al sporen, logs en metrics uitzenden. Wijs je bestaande OpenTelemetry SDK's of collectors naar het eindpunt zonder maatwerkintegratie. Zie OpenTelemetry-gegevens opnemen met Zerobus Ingest.
Kafka-compatibele API's (Bèta) Producenten die al het Kafka-protocol gebruiken, of tools die naar Kafka zenden, wanneer je die data in Delta wilt met minimale codewijziging. Hergebruik een bestaande Kafka-producer zonder een Azure Databricks SDK. Richt het op het eindpunt en produceer naar een onderwerp dat naar je doeltabel is vernoemd. Zie Gebruik Kafka-compatibele API's met Zerobus Ingest.

gRPC met de SDK's

De Zerobus SDK's omwikkelen een persistente, bidirectionele gRPC-verbinding die een stream wordt genoemd. Omdat de verbinding open blijft, bereikt gRPC de hoogste aanhoudende doorvoersnelheid en is het de aanbevolen keuze voor continue, grootschalige gegevensinname. Elke geopende stream is een langlevende verbinding, dus de doorvoer van een client schaalt met het aantal streams dat de client opent.

De SDK's verzorgen het verbindingsbeheer, offsettracking en herstel voor je, en zijn beschikbaar in Python, Java, Rust, Go, TypeScript en (in Beta) C++ en C# / .NET. Ze bieden gelijkwaardig gedrag tussen verschillende talen, dus kies degene die bij jouw toepassing past. Via gRPC ondersteunen de SDK's de recordformaten JSON, protobuf en Apache Arrow. Zie Berichttypen.

Om een client te schrijven met de SDK's, inclusief een voorbeeld per taal voor elk, zie Write a client.

REST

De REST-interface is stateloos: elk verzoek wordt op zichzelf afgerond zonder een open verbinding vast te houden. Dit maakt het een sterke keuze voor grote vloten lichtgewicht of intermitterende producenten, bijvoorbeeld edge- en IoT-apparaten die zelden status rapporteren, waarbij het onderhouden van een persistente verbinding per apparaat onpraktisch zou zijn.

REST-inname wordt geregeld door een request-rate quota (zie Zerobus Ingest-quota). Voor een producent met groot volume zullen de SDK's boven gRPC een hogere doorvoersnelheid hanteren dan het uitvoeren van veel individuele REST-verzoeken. Reserveer REST voor producenten die zelden sturen of geen blijvende verbinding kunnen onderhouden.

OpenTelemetrie (OTLP)

Zerobus Ingest bevat een native OpenTelemetry Protocol-eindpunt. Als je systemen al OpenTelemetry-traces, logs en metrics produceren, kun je je bestaande OTLP-exporters of -collectoren naar Zerobus Ingest laten verwijzen en die telemetrie rechtstreeks laten landen in Delta-tabellen die van jou zijn, meestal met slechts een configuratiewijziging. Zie OpenTelemetry-gegevens opnemen met Zerobus Ingest.

Kafka-compatibele API's

Important

De Kafka-compatibele API's zijn in bèta.

Zerobus Ingest biedt Kafka-compatibele producer-API's, zodat je kunt ingest met elke Apache Kafka producer client zonder een Azure Databricks SDK. Je wijst een bestaande Kafka-producer op het eindpunt en schrijft naar een topic dat is vernoemd naar je doeltabel, en de records komen terecht in een Unity Catalog Delta-tabel. Dit is de beste match als je al een Kafka-producer draait, of een collector of agent die naar Kafka emitteert, en die data met minimale codewijzigingen naar Delta wilt routeren.

De Kafka-compatibele API's implementeren de producer-side subset van het Kafka-protocol en zijn alleen-schrijf: consument-, admin- en transactionele API's zijn niet beschikbaar. Ze accepteren alleen JSON-records. De doorvoer wordt bepaald door een request-rate quota per werkruimte in plaats van door individuele verbindingen. Zie voor het specifieke quotum Zerobus Ingest quotas. Voor de hoogste doorvoersnelheid, bevestigingen per record en automatische herstel, gebruik je in plaats daarvan een Zerobus SDK in plaats van gRPC.

Voor setup, authenticatie en een voorbeeld van een producent, zie Gebruik Kafka-compatibele API's met Zerobus Ingest.