← Bloga dön

2025-06-09

Protobuf ve JSON: Wire Format Gerçekten Ne Zaman Önemlidir

JSON okunabilir ve evrensel olarak desteklenir. Protobuf kompakt ve hızlıdır. İşte geçişin maliyete değdiği durumlar.

JSON Vergisi

Gönderdiğiniz her JSON payload bir vergi öder:

  • Ayrıntılılık: alan adları her mesajda tekrarlanır
  • Ayrıştırma yükü: dize ayrıştırma, ikili kod çözme işleminden daha yavaştır
  • Schema zorlaması yok: alıcı her alanı savunmacı biçimde doğrulamak zorundadır

Çoğu web uygulaması için bu vergi görünmezdir. Büyük ölçekte — saniyede milyonlarca mesaj veya yavaş bağlantılardaki mobil istemciler — önemli hale gelir.

Protobuf Size Ne Kazandırır

Protocol Buffers (proto3), Google'ın ikili serileştirme formatıdır. Tipik bir JSON payload'ı, Protobuf eşdeğerinden 3–10x daha büyüktür. Serileştirme 5–10x daha hızlıdır.

message User {
  int64 id = 1;
  string name = 2;
  string email = 3;
}

Alan numaraları (1, 2, 3) gerçekte iletim hattına çıkandır — alan adları değil. Protobuf'un bu kadar kompakt olmasının nedeni budur.

Gerçek Maliyet: Schema Yönetimi

Protobuf'un performansı bir bedelle gelir: .proto dosyalarını korumanız ve her dil için bir kod üreticisi çalıştırmanız gerekir. Yeni bir alan eklemek, şemayı güncellemeyi, istemcileri yeniden oluşturmayı ve dağıtımları koordine etmeyi gerektirir.

JSON şemaları, hiçbir şeyi yeniden oluşturmadan değiştirilebilir.

Ne Zaman Geçiş Yapmalı

Şu durumlarda Protobuf'a geçin:

  • Hem üreticiyi hem de tüketiciyi kontrol ediyorsanız
  • Mesaj hacmi ~10k/sn'yi aşıyorsa veya payload boyutu ortalama ~1KB'yi geçiyorsa
  • Zaten gRPC kullanıyorsanız
  • Mobil bant genişliği gerçek bir kısıtlamaysa

Şu durumlarda JSON'da kalın:

  • Halka açık bir API oluşturuyorsanız
  • İnsan tarafından okunabilir loglara ihtiyaç duyuyorsanız
  • Ekip büyüklüğünüz schema koordinasyonunu pahalı kılıyorsa

Orta Yol: Katı Schema ile JSON

Protobuf'a uzanmadan önce additionalProperties: false ile JSON + JSON Schema'yı deneyin. Araç yükü olmadan schema zorlaması ve daha küçük payload'lar elde edersiniz (gzip uygulandıktan sonra JSON ve Protobuf genellikle birbirinden %20 dahilinde kalır).

Dosyalarınız cihazınızdan hiçbir zaman ayrılmaz. %100 Güvenli ve Gizli.

Ses veya video dönüştürmeniz mi gerekiyor? mp3-converters.com — ücretsiz MP4/WAV/M4A→MP3 dönüştürücü, %100 tarayıcı tabanlı.

PDF dönüştürmeniz mi gerekiyor? pdf-word-converter.com — ücretsiz PDF→Word, PDF→HTML ve HTML→PDF dönüştürücü, %100 tarayıcı tabanlı.

Çevrimdışı çalışır — tarayıcınızın  "Uygulamayı yükle"  seçeneğiyle uygulama olarak yükleyin.

Gizlilik Politikası

© 2026 json-convert.com — Ücretsiz, açık ve gizli.