Buffers de protocolo v3

Neste capítulo, será discutido como usar os Buffers de protocolo com projeto de API. Para simplificar a experiência do desenvolvedor e melhorar a eficiência do ambiente de execução, as APIs gRPC precisam usar buffers de protocolo versão 3 (proto3) para a definição das APIs do gRPC.

Os Buffers de protocolo são uma Linguagem de definição de interface (IDL, na sigla em inglês) simples e neutra em relação à plataforma e à linguagem para definição de esquemas de estrutura de dados e interfaces de programação. Eles são compatíveis com formatos de conexão binária e de texto e funcionam com vários protocolos de conexão diferentes em diferentes plataformas.

O proto3 é a última versão dos Buffers de protocolo e inclui as seguintes alterações em relação ao proto2:

  • A presença de campo, também conhecida como hasField, não está disponível para campos primitivos. Um campo primitivo não definido tem um valor padrão definido pela linguagem.
    • A presença de um campo de mensagem ainda está disponível, o que pode ser testado usando o método hasField gerado pelo compilador, ou com comparação com null, ou o valor sentinela definido pela implementação.
  • O valor padrão definido pelo usuário para campos não está mais disponível.
  • As definições do enum precisam começar com valor de enum zero.
  • Os campos obrigatórios não estão mais disponíveis.
  • As extensões não estão mais disponíveis. Use o google.protobuf.Any em vez disso.
    • É concedida uma exceção especial para google/protobuf/descriptor.proto para razões de compatibilidade de versões anteriores e tempo de execução.
  • A sintaxe do grupo foi removida.

O motivo para remover esses recursos é tornar os projetos da API mais simples, estáveis ​​e com maior desempenho. Por exemplo, muitas vezes é necessário filtrar alguns campos antes de registrar uma mensagem, como a remoção de informações confidenciais. Isso não seria possível se os campos fossem obrigatórios.

Consulte Buffers de protocolo para mais informações.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…