...
- Binary (as opposed to text, like JSON, for performance reasons)
- Supports nested object graphs
- Supports primitives, not only objects (for example, integer or Guid value can be serialized independently)
- Supports streaming: multiple values one after another in the same buffer / stream.
- Schemaless: any object of any type can be written without prior set up
- For Table APIs (when the schema is present), we can use field IDs instead of names for performance reasons
- Can work without classes ("binary mode" in terms of 2.x): servers should be able to inspect the structure in serialized form
- Extensible (can add custom types)
- Well-supported implementations in all languages of interest (Java, C#, C++, Python, JavaScript, PHP)
- Fast and compact
...
{"serverDuration": 135, "requestCorrelationId": "9c3a97af3912a895"}