Protocol Buffers (Protobuf)
Protocol Buffers (Protobuf), Google tarafından geliştirilen dil ve platform bağımsız bir veri serileştirme mekanizmasıdır. Yapılandırılmış verilerin verimli kodlanması ve çözülmesi için .proto şema dosyaları kullanır. Protobuf, gRPC hizmetlerinde, mikro servis iletişiminde ve yüksek performanslı veri değişiminde yaygın olarak kullanılır.
MIME Tipi
application/x-protobuf
Tip
Ikili
Sikistirma
Kayipsiz
Avantajlar
- + 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
Dezavantajlar
- − Not human-readable — binary format requires tooling
- − Requires .proto schema definition and code generation step
- − Not suitable for human-edited configuration files
.PROTOBUF Ne Zaman Kullanilir
gRPC hizmetleri, mikro servis iletişimi ve yüksek performanslı ikili veri değişimi için Protobuf kullanın. İnsan tarafından okunabilirlik gerektiğinde JSON tercih edin.
Teknik Detaylar
Protobuf, alan numaraları ve kablo türleriyle (varint, 64-bit, uzunluk sınırlı) ikili kodlama kullanır. .proto dosyaları birçok dil için kod oluşturur. Proto3, JSON eşlemesi ve isteğe bağlı alanları varsayılan olarak destekler.
Gecmis
Google, Protobuf'u 2001 civarında dahili kullanım için geliştirdi ve 2008'de açık kaynak olarak yayınladı. Proto3 söz dizimi 2016'da tanıtıldı. Protobuf, gRPC çerçevesinin temelini oluşturur.