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