Saltar al contenido
uencoder

Protocol Buffers

Protocol Buffers es el formato de serialización binaria neutro respecto al lenguaje de Google; requiere un esquema .proto y es más compacto y con más seguridad de tipos que JSON/XML.

Propósito

Ofrecer intercambio de datos entre lenguajes fuertemente tipado, compacto y eficiente, con esquemas que garantizan la compatibilidad.

Mecanismo

Un IDL .proto define tipos de mensaje con números de campo. Al codificar, cada campo empieza con una etiqueta (field_number<<3 | wire_type); los enteros usan varint, y las cadenas y mensajes anidados usan prefijos de longitud. Los campos desconocidos mantienen la compatibilidad futura. proto3 simplifica la sintaxis.

Casos de uso

  • Protocolo de transporte de gRPC
  • Almacenamiento interno de datos en Google
  • APIs móviles (ahorro de ancho de banda)
  • Configuración y persistencia

Ejemplos

  • entrada
    message User { string name = 1; }
    Output
    Binary encoding

    Requires protoc compilation

Errores comunes

Changing field numbers breaks compatibility
Once assigned, numbers must not be reused or changed

Términos relacionados

Herramientas relacionadas

References