API-protokoll

Zerobus Ingest tillhandahåller en enda endpoint med flera API-protokoll: gRPC (genom SDK:erna), REST, OpenTelemetry (OTLP) och Kafka-kompatibla API:er. Alla skriver direkt in i Unity Catalog Delta-tabeller, så du väljer det protokoll som bäst passar varje producent.

Zerobus Ingest-skalningsarkitektur: källor skickar Protocol Buffers (protobuf), JSON- och Arrow-poster via gRPC-, REST-, OpenTelemetry- och Kafka-kompatibla API:erna, och posterna flödar genom automatisk skalning och lastbalansering till en horisontellt skalbar pool av tillståndslösa Zerobus-noder, var och en med en transaktionslogg och en Lakehouse-skrivare som batchvis skriver poster till en Delta-tabell som hanteras av Unity Catalog

Vilket protokoll bör du använda?

Protokoll Passar bäst för Varför
gRPC (SDK) Producenter av högvolymsströmning: insamling av ändringsdata, klickströmsdata, vidarebefordrare av loggar och händelser. Bestående anslutningar ger den högsta kontinuerliga genomströmningen och bevarar ordningen inom varje ström. Finns i Python, Java, Rust, Go, TypeScript och (i beta) C++ och C# / .NET. Se Att skriva en klient.
REST Stora flottor av lättviktiga eller "pratglada" klienter, såsom edge- och IoT-enheter som rapporterar sällan. Stateless: varje förfrågan står för sig själv, så klienterna har ingen öppen anslutning. Enklare för enheter som skickar data ibland. Se REST-exemplet.
ÖppenTelemetri (OTLP) Observability-pipelines som redan genererar spårningsdata, loggar och mätvärden. Rikta dina befintliga OpenTelemetry SDK:er eller samlare till slutpunkten utan någon anpassad integrering. Se Ingest OpenTelemetry data with Zerobus Ingest.
Kafka-kompatibla API:er (Beta) Producenter som redan använder Kafka-protokollet, eller verktyg som skickar data till Kafka, när du vill ha datan i Delta med minimala kodändringar. Återanvänd en befintlig Kafka-producent utan ett Azure Databricks SDK. Rikta den mot slutpunkten och producera till ett ämne som är uppkallat efter din måltabell. Se Använd Kafka-kompatibla API:er med Zerobus Ingest.

gRPC med SDK:erna

Zerobus SDK:erna omsluter en beständig, tvåvägs gRPC-anslutning kallad en ström. Eftersom anslutningen förblir öppen uppnår gRPC den högsta uthålliga genomströmningen och är den rekommenderade vägen för kontinuerlig, högvolymsintagning. Varje öppen ström är en långlivad anslutning, så en klients genomströmning skalar med antalet strömmar den öppnar.

SDK:erna hanterar anslutningshantering, offsetspårning och återställning åt dig, och finns tillgängliga i Python, Java, Rust, Go, TypeScript och (i beta) C++ och C# / .NET. De ger likvärdigt beteende mellan olika språk, så välj det som passar din applikation. Över gRPC stöder SDK:erna JSON-, protobuf- och Apache Arrow-postformat. Se Meddelandetyper.

För att skriva en klient med SDK:erna, inklusive ett exempel per språk för varje, se Skriv en klient.

REST

REST-gränssnittet är tillståndslöst: varje förfrågan slutförs på egen hand utan att hålla en öppen anslutning. Detta gör den till en stark passform för stora flottor av lättvikts- eller intermittenta tillverkare, till exempel edge- och IoT-enheter som rapporterar status sällan, där det skulle vara opraktiskt att upprätthålla en beständig anslutning per enhet.

REST-inmatning styrs av en gräns för begärandefrekvens (se kvoter för Zerobus Ingest). För en producent med hög volym kommer SDK:erna över gRPC att upprätthålla högre genomströmning än att skicka många individuella REST-förfrågningar. Reservera REST för producenter som skickar sällan eller inte kan hålla en varaktig kontakt.

ÖppenTelemetri (OTLP)

Zerobus Ingest inkluderar en inbyggd OpenTelemetry Protocol-endpoint. Om dina system redan producerar OpenTelemetri-spår, loggar och metrik kan du rikta dina befintliga OTLP-exportörer eller samlare till Zerobus Ingest och placera den telemetrin direkt i Delta-tabeller du äger, vanligtvis med bara en konfigurationsändring. Se Ingest OpenTelemetry data with Zerobus Ingest.

Kafka-kompatibla API:er

Important

De Kafka-kompatibla API:erna är i Beta.

Zerobus Ingest erbjuder Kafka-kompatibla producent-API:er, så att du kan mata in data med vilken Apache Kafka-producentklient som helst utan något Azure Databricks SDK. Du pekar en befintlig Kafka-producent vid slutpunkten och producerar till ett ämne som är namngivet efter din måltabell, och posterna hamnar i en Unity Catalog Delta-tabell. Detta passar bäst när du redan kör en Kafka-producent, eller en samlare eller agent som skickar ut till Kafka, och vill routa den datan till Delta med minimal kodändring.

De Kafka-kompatibla API:erna implementerar producentsidans delmängd av Kafka-protokollet och är skrivskyddade: konsument-, admin- och transaktions-API:er finns inte tillgängliga. De godtar endast poster i JSON-format. Genomströmningen styrs av en kvot för förfrågningar per arbetsplats snarare än av enskilda anslutningar. För den specifika kvoten, se Zerobus Ingest-kvoter. För högsta genomströmning, bekräftelser för varje post och automatisk återställning, använd i stället ett Zerobus SDK via gRPC.

För installation, autentisering och ett exempel på producent, se Använd Kafka-kompatibla API:er med Zerobus Ingest.