The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems
Author: Michael L. Perry (Author)
Publisher finelybook 出版社: Apress
Edition 版本: 2nd ed.
Publication Date 出版日期: 2024-05-29
Language 语言: English
Print Length 页数: 506 pages
ISBN-13: 9798868802874
Book Description
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 assumptions of the past were sufficient for building single-user, single-computer systems. But aswe expand to multiple 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.
From the Back Cover
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 notchange.
After reading
The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple 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
About the Author
Michael L. Perry is Director of Consulting at Improving, where he applies his love of software mathematics to benefit his clients. He has built upon the works of mathematicians such as Marc Shapiro, Pat Helland, and Leslie Lamport to develop a mathematical system for software development. He has captured this system in the Jinaga open source project. Michael often presents on math and software at events and online. You can find out more at michaelperry.net.
下载地址
相关推荐
Fundamentals of Software Architecture: A Modern Engineering Approach, 2nd Edition
Introducing Microsoft Purview: Unlocking the Power of Governance, Compliance, and Security in the Modern Cloud Enterprise
Learning Python: Powerful Object-Oriented Programming, 6th Edition
Math for Programming: Learn the Math, Write Better Code
Hands-On Neural Network Programming with C#: Add powerful neural network capabilities to your C# enterprise applications
Introduction to Unity ML-Agents: Understand the Interplay of Neural Networks and Simulation Space Using the Unity ML-Agents Package