Search⌘ K
AI Features

Creating and Parsing Data

Learn how distributed systems handle data exchange by mastering the processes of serialization and deserialization. Understand the pros and cons of native support, serialization libraries, and interface definition languages, and how these choices impact interoperability, security, and maintainability in distributed applications.

One of the main differentiating characteristics of distributed systems with other systems is that the various nodes need to exchange data across the network boundary. In this chapter, we will examine how we can achieve this and the trade-offs of each approach.

Serialization and deserialization

Every node needs a way to transform data that resides in memory into a format that can be transmitted over the network, and it also needs a way to translate data received from the network back to the appropriate in-memory representation. These processes are called serialization and deserialization, respectively. The following illustration shows this process:

Note: Serialization are also used to transform data in a format that’s suitable for storage, not only communication.

Serializing and deserializing data

The various nodes of the system need to agree on a common way to serialize and ...