Protobuf Stream
Protobufストリーミングは、長さプレフィックス付きのProtobufメッセージを複数連結する方式で、ストリーム転送とメッセージ単位の解析を可能にする。
目的
TCPやgRPCのストリーム上で複数のProtobufメッセージを転送する際、varint長プレフィックスで各メッセージの境界を区切る。
メカニズム
各メッセージは、varint長プレフィックスとProtobufバイト列としてエンコードされる。受信側はvarint長を読み、そのバイト数だけ読み取って1メッセージを解析し、これを繰り返す。gRPCのフレーム形式もこの仕組みである。
ユースケース
- gRPCストリーミングRPC
- KafkaでのProtobufメッセージ
- ログストリーム転送