Zum Inhalt springen
uencoder

Protobuf Stream

Protobuf-Streaming verkettet mehrere längenpräfixierte Protobuf-Nachrichten und ermöglicht so Stream-Transport und Parsing pro Nachricht.

Zweck

Mehrere Protobuf-Nachrichten über TCP/gRPC-Streams transportieren, wobei ein Varint-Längenpräfix jede Nachricht abgrenzt.

Mechanismus

Jede Nachricht wird als Varint-Längenpräfix plus Protobuf-Bytes kodiert. Der Empfänger liest die Varint-Länge, liest entsprechend viele Bytes, parst eine Nachricht und wiederholt das. Das gRPC-Frame-Format funktioniert so.

Anwendungsfälle

  • gRPC-Streaming-RPC
  • Protobuf-Nachrichten in Kafka
  • Log-Stream-Transport

Verwandte Tools

References