3 ms·
> not tested 10 trillion times a day Perhaps not, but it might be close: essentially every message sent between every component of every service on every machi
by marssaxman 2y ago
> not tested 10 trillion times a day
Perhaps not, but it might be close: essentially every message sent between every component of every service on every machine in every datacenter Google operates gets encoded as a protobuf. Engineering at Google consists of populating protobufs to send to other services, which reply with protobufs containing the data you need to stuff into more protobufs, which you can then send on to further different services.
We can, in other words, safely conclude that protobuf scales.
- dogboat 2y agoROT13 also scales. Anything that uses minimal compute can be embarrisingly parallelizable. I think it is more interesting how protobuf is used. I am not experienced in it but roughly it seems like you design a schema for tight packing data. Therefore there is more work in accepting a protobuf and you cant just add arbitrary fields and let old versions of sdks ignore em. I think! This is good and bad. It is the schema vs schemaless and compile types. vs runtime types. There is also the efficiency of protobuf vs slightly more verbose JSON.