Serialization protocols for distributed systems

Decoupled applications exchange messages – between JVMs, over the network or via messaging systems like Kafka, Pub/Sub and Kinesis. Therefore messages are everywhere – sometimes they live for milliseconds, sometimes they get persisted for years. When the types of these messages start to evolve and the applications change at different speed, things get complicated: serialization protocols can help us with that!

In this talk we will compare the current biggest players of the serialization world: Protocol Buffers (Protobuf), Avro, Thrift and Kryo. We will compare out their inner workings and different design decisions. We’ll see what schema evolution is and how we deal with it and only a brief bit about performance. Bonus points are awarded for portability to other platforms, maturity and community activity. Afterwards you’ll have a solid base to decide which serialization framework is the right one for you.

Expect lots of code samples!

Main language English Proposal
Audience level Beginner & novice
Type of presentation Slides and code

Christian Uhl

Head of Engineering @ Matmatch GmbH

Company Matmatch GmbH