How Data Validation Nearly Destroyed Protobuf
ฝัง
- เผยแพร่เมื่อ 24 ก.ย. 2024
- Required fields in protobuf have caused countless outages - sadly we don't have any public postmortems from the outages. Optional fields are what you should use, otherwise you will definitely need to deal with incidents.
Probuf best practices: "Don't Add a Required Field", "Don’t Change the Type of a Field", "Rarely Use an Integer Field for an ID"
Appreciate your videos, I like the animation, readable code snippets, and beyond tutorial hell topics. Keep it up!
Glad you like them! Appreciate the kind comment 😊
Nice! Flatbuffers have the same problem?
AFAIK, required field has smaller footprint than optional, making the choice a serialization concern, not a validation one.
No, it uses the same serialization under the hood (tag, your field). And anyways, if you are concerned about the tag size you're dealing with a low enough latency that you probably have one of the few use-cases where rolling your own (de)serialization makes sense
@@MrCompSciGuy thanks