Protobuf is fairly complex but offers a high-degree of confidence in your event quality due to built-in schema enforcement, type safety and excellent cross-language support.


  • You are tasked with establishing a long-lasting, sophisticated and reliable event-driven architecture at your org

  • You MUST have schema-enforcement and type safety

  • You need rich type support

  • You are (or are planning on) using gRPC

  • You want to generate client/server code from schemas

  • You want to be able to point folks at good documentation


  • You will have to create your own schema repository and setup a build process to generate your compiled protobufs

  • The CLI tools are complex

  • Deprecation is less-than-ideal

  • Protobuf messages are semi-human-readable - as in, you will not be able to view all values in a message via cat - you will need to properly decode the message

Batch has full support for protobuf - all fields in a protobuf message are indexed and available for search and replay.

WARNING: If you use google.protobuf/any.proto , please view the following article: Risks with google.protobuf/any.proto .

Last updated