Dynamic extensibility and Protocol Buffers
Protocol Buffers (protobuf) are Google’s wire efficient, statically typed, language independent, data serialization format. We use protobuf in the Envoy proxy to define its v2 APIs, also known as the universal data plane API for network proxies.
In this post, I’ll dive into some of the nuances and trade-offs when dynamically extending protobufs. That is, embedding an opaque message field in a protobuf with a message type unknown at compile time. I’ll focus on the Envoy project, the context in which we’ve recently explored this trade-off, but this post should be applicable to any scenario where opaque configuration embedding is required.
Don't miss what's next. Subscribe to h-tu.ch: