Protocol Buffers (Protobuf)
Protocol Buffers (Protobuf) e o mecanismo extensivel e neutro em termos de linguagem e plataforma da Google para serializar dados estruturados. E menor, mais rapido e mais simples que XML, amplamente utilizado em comunicacao de servicos.
Tipo MIME
application/x-protobuf
Tipo
Binário
Compressão
Sem perdas
Vantagens
- + 10-100x smaller and faster than JSON/XML
- + Schema-driven with generated type-safe code
- + Backward-compatible schema evolution via field numbers
- + Standard wire format for gRPC
Desvantagens
- − Not human-readable — binary format requires tooling
- − Requires .proto schema definition and code generation step
- − Not suitable for human-edited configuration files
Quando usar .PROTOBUF
Use Protobuf para comunicacao entre microsservicos (gRPC), armazenamento eficiente de dados e cenarios onde desempenho de serializacao e compatibilidade entre linguagens importam.
Detalhes técnicos
Os ficheiros .proto definem schemas de mensagens compilados para codigo especifico de linguagem. Protobuf utiliza codificacao varint, tags de campo e formato wire para serializacao binaria compacta. Suporta evolucao de esquema atraves de numeracao de campos.
Histórico
A Google desenvolveu o Protocol Buffers internamente e lancou-o como codigo aberto em 2008. O Proto3, a versao atual, foi lancado em 2016 com sintaxe simplificada e melhor suporte entre linguagens.