I understand it's a popular choice for service development through the use gRPC, Twirp, etc. I assume there are good performance reasons why Protobuf is not used in database node-to-node communication, but I'm curious to know what they are.
As an aside, if I don't want to commit to one protocol like Postgres or MySQL or Memcached, is there an extensible wire protocol out there that can accommodate these different protocols under one umbrella? I'm considering generically pre-pending each frame with a set of bits to identify which protocol the frame uses. This seems like something that's probably already been solved, and I'm just not aware of it. Does anyone have any ideas?