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! We will compare the current biggest players of the serialization world: Protobuf, Avro, Thrift and Kryo by their inner workings and their integration in the Scala. Also, Schema evolvability!
Basic Knowledge about scala and sbt to understand the code samples. A vague understanding about distributed computing might help to get the finer jokes, but is not required.
You will get a solid foundation to decide which serialization protocol will fit your distributed system best. There is no "right" one
Chris was a senior software consultant for a few years before he joined Matmatch as Head of Engineering, where he saw a huge variety of distributed systems and made a huge variety of mistakes that he can share now. He is an expert for Search, Big Data topics and a passionate Scala developer who has been using Scala throughout the last three years. He is especially interested in distributed systems, microservice architectures and always curious about how all these pieces fit to