Re:Why Segment Chose Go, gRPC, and Envoy to Build Their New ...
by asdkhadsj on Saturday December 15, 2018 @10:14AM
(#18688634)
We opted to store proto files in a singular location. In my view, this has three benefits:
1. Protobufs importing each other becomes effortless. You don't need to download multiple repositories, if you have the proto repo, you have all the dependencies.
2. Decoupling "ownership" allows for a bit more freedom when creating proto files that describe shared data structures.
3. You get a singular location to browse infra. It doesn't describe relationships of course, but it's handy to be able to see what services you have and what their API looks like.
Disclaimer: I don't use gRPC, but I do use Protobufs & an RPC, Twirp.
1. Protobufs importing each other becomes effortless. You don't need to download multiple repositories, if you have the proto repo, you have all the dependencies.
2. Decoupling "ownership" allows for a bit more freedom when creating proto files that describe shared data structures.
3. You get a singular location to browse infra. It doesn't describe relationships of course, but it's handy to be able to see what services you have and what their API looks like.
Disclaimer: I don't use gRPC, but I do use Protobufs & an RPC, Twirp.