This book teaches you how to evaluate a distributed system from the
perspective of immutable objects. You will understand the problems in
existing designs, know how to make small modifications to correct
those problems, and learn to apply the principles of immutable
architecture to your tools. Most software components focus on the
state of objects. They store the current state of a row in a
relational database. They track changes to state over time, making
several basic assumptions: there is a single latest version of each
object, the state of an object changes sequentially, and a system of
record exists. This is a challenge when it comes to building
distributed systems. Whether dealing with autonomous microservices or
disconnected mobile apps, many of the problems we try to solve come
down to synchronizing an ever-changing state between isolated
components. Distributed systems would be a lot easier to build if
objects could not change. After reading The Art of Immutable
Architecture, you will come away with an understanding of the benefits
of using immutable objects in your own distributed systems. You will
learn a set of rules for identifying and exchanging immutable objects,
and see a collection of useful theorems that emerges and ensures that
the distributed systems we build are eventually consistent. Using
patterns, you will find where the truth converges, see how changes are
associative, rather than sequential, and come to feel comfortable
understanding that there is no longer a single source of truth.
Practical hands-on examples reinforce how to build software using the
described patterns, techniques, and tools. By the end, you will
possess the language and resources needed to analyze and construct
distributed systems with confidence. The assumptions of the past were
sufficient for building single-user, single-computer systems. But as
we expand tomultiple devices, shared experiences, and cloud computing,
they work against us. It is time for a new set of assumptions. Start
with immutable objects, and build better distributed systems. What You
Will Learn Evaluate a distributed system from the perspective of
immutable objects Recognize the problems in existing designs, and
make small modifications to correct them Start a new system from
scratch, applying patterns Apply the principles of immutable
architecture to your tools, including SQL databases, message queues,
and the network protocols that you already use Discover new tools
that natively apply these principles Who This Book Is For Software
architects and senior developers. It contains examples in SQL and
languages such as JavaScript and C#. Past experience with distributed
computing, data modeling, or business analysis is helpful.
Les mer
Theory and Practice of Data Management in Distributed Systems
Produktdetaljer
ISBN
9781484259559
Publisert
2020
Utgiver
Springer Nature
Språk
Product language
Engelsk
Format
Product format
Digital bok
Forfatter