Sharing Protobuf schemas across services

The system that we���re building at Community.com is made of a few services (around fifteen at the time of writing) that interact with each other through a basic version of event sourcing. All events are exchanged (published and consumed) through RabbitMQ and are serialized with Protobuf. With several services already and many more coming in the future, managing the Protobuf schemas becomes a painful part of evolving and maintaining the system. Do we copy the schemas in all services? Do we keep them somewhere and use something akin to Git submodules to keep them in sync in all of our projects? What do we do?! In this post, I���ll go through the tooling that we came up with in order to sanely manage our Protobuf schemas throughout our services and technology stack.

 •  0 comments  •  flag
Share on Twitter
Published on February 23, 2020 16:00
No comments have been added yet.