Cargando…

The art of immutable architecture : theory and practice of data management in distributed systems /

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...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Perry, Michael L.
Formato: Electrónico eBook
Idioma:Inglés
Publicado: [United States] : Apress, 2020.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Intro
  • Table of Contents
  • About the Author
  • About the Technical Reviewer
  • Acknowledgments
  • Introduction
  • Part I: Definition
  • Chapter 1: Why Immutable Architecture
  • The Immutability Solution
  • The Problems with Immutability
  • Begin a New Journey
  • The Fallacies of Distributed Computing
  • The Network Is Not Reliable
  • Latency Is Not Zero
  • Topology Doesn't Change
  • Changing Assumptions
  • Immutability Changes Everything
  • Shared Mutable State
  • Structural Sharing
  • The Two Generals' Problem
  • A Prearranged Protocol
  • Reducing the Uncertainty
  • An Additional Message
  • Proof of Impossibility
  • Relaxing Constraints
  • Redefining the Problem
  • Decide and Act
  • Accept the Truth
  • A Valid Protocol
  • Examples of Immutable Architectures
  • Git
  • Blockchain
  • Docker
  • Chapter 2: Forms of Immutable Architecture
  • Deriving State from History
  • Historical Records
  • Building Upon the Past
  • Evolution of Understanding
  • Mutable Objects
  • Identity
  • Evolution of State
  • Projections
  • Two Kinds of State
  • Projecting Objects
  • Event Sourcing
  • Generating Events
  • CQRS
  • DDD
  • Taking a Functional View
  • Commutative and Idempotent Events
  • Asynchronous Model View Update
  • The Update Loop
  • Unidirectional Data Flow
  • Immutable App Architecture
  • Historical Modeling
  • Partial Order
  • Predecessors
  • Successors
  • Immutable Graphs
  • Collaboration
  • Acyclic Graphs
  • Timeliness
  • Limitations of Historical Modeling
  • No Central Authority
  • No Real-Time Clock
  • No Uniqueness Constraints
  • No Aggregation
  • Chapter 3: How to Read a Historical Model
  • Fact Type Graphs
  • A Chess Game
  • Important Attributes
  • A Chain of Facts
  • Endgame
  • Fact Instance Graphs
  • The Immortal Game
  • Collecting Moves
  • A Brilliant Win
  • The Factual Modeling Language
  • Declaring Fact Types
  • Querying the Model
  • Jumping Levels
  • Joining Matches
  • Existential Quantifiers
  • Current Value
  • Authorization Rules
  • A Chess Application
  • Use Cases
  • User Interface
  • Actions
  • Views
  • Part II: Application
  • Chapter 4: Location Independence
  • Modeling with Immutability
  • Synchronization
  • Exploring Contracts
  • Identity
  • Auto-incremented IDs
  • Environment Dependence
  • Parent-Child Insertion
  • Remote Creation
  • URLs
  • Location-Independent Identity
  • Natural Keys
  • GUIDs
  • Timestamps
  • Tuples
  • Hashes
  • Public Keys
  • Random Numbers
  • Causality
  • Putting Steps in Order
  • The Transitive Property
  • Concurrency
  • Partial Order
  • The CAP Theorem
  • Defining CAP
  • Proving the CAP Theorem
  • Test an Algorithm
  • Eventual Consistency
  • Kinds of Consistency
  • Strong Eventual Consistency in a Relay-Based System
  • Idempotence and Commutativity
  • Deriving Strong Eventual Consistency
  • The Contact Management System
  • Replaying History
  • Conflict-Free Replicated Data Types (CRDTs)
  • State-Based CRDTs
  • Partially Ordered State
  • Causal History
  • Vector Clocks
  • A History of Facts
  • Sets