Was bedeutet Protocol Buffers?
Eine .proto-Datei legt Felder und ihre Typen fest. Werkzeuge erzeugen daraus Programmbausteine zum Lesen und Schreiben. Das Verfahren wird beispielsweise für Nachrichten zwischen gRPC-Diensten genutzt.
Feldnummern helfen, gespeicherte und übertragene Inhalte zuzuordnen. Bei Änderungen müssen ihre Regeln eingehalten werden. Eine früher verwendete Nummer darf nicht unbedacht eine neue Bedeutung erhalten.
So sieht das in der Praxis aus
Beispiel: Zwei Dienste lesen und schreiben Auftragsnachrichten nach derselben .proto-Datenbeschreibung.
Häufige Fragen
Kann man Protocol-Buffers-Nachrichten direkt wie JSON lesen?
Die übliche binäre Darstellung ist dafür nicht gedacht. Zum sinnvollen Auswerten werden passende Werkzeuge und die zugehörige Datenbeschreibung benötigt.
Warum sind Feldnummern so wichtig?
Sie kennzeichnen Felder im binären Format. Eine wiederverwendete Nummer kann dazu führen, dass ältere Daten falsch interpretiert werden. Entfernte Nummern sollten entsprechend reserviert werden.
Garantiert automatisch erzeugter Code eine verträgliche Schemaänderung?
Nein. Änderungen an Feldtypen, Nummern und Bedeutung müssen weiterhin geprüft werden. Alte und neue Leser benötigen miteinander vereinbare Regeln.
