Back to blog
  • Integrasi Sistem

Evolusi Schema dengan Protobuf: Berubah Tanpa Mematahkan

by Mono Solusi

Kontrak antar layanan tidak statis — kebutuhan berubah, field ditambah. Tanpa disiplin, perubahan di satu sisi mematahkan konsumen di sisi lain. Protobuf (Protocol Buffers) menyusun aturan evolusi yang mencegah itu.

Kompatibel maju dan mundur

Protobuf dirancang untuk kompatibilitas: menambah field baru tanpa mematahkan konsumen lama (mereka mengabaikan field tak dikenal), dan konsumen baru membaca pesan lama (field baru berupa default). Aturannya: jangan hapus field, hanya tandai usang.

Nomor field tetap

Nomor field adalah kontrak nyata — tipe dan nomor tidak boleh diganti. Ganti tipe = patahkan. Tambah field baru dengan nomor baru. Disiplin ini menjaga kontrak stabil lintas versi.

Schema registry

Saat schema berevolusi, registry menyimpan versi dan memvalidasi pesan sesuai versinya. Tanpa registry, evolusi terjadi diam-diam dan patah di produksi. Registry membuat perubahan eksplisit dan terlacak.

Have a problem you want solved?

Tell us what you need. We help map a realistic technical path forward — no overpromising.